Ruby on rails Ruby:简洁的内联作业?
我想创建三个存根模型,如下所示:Ruby on rails Ruby:简洁的内联作业?,ruby-on-rails,ruby,Ruby On Rails,Ruby,我想创建三个存根模型,如下所示: @first_user, @second_user, @third_user = stub_model(User), stub_model(User), stub_model(User) 这是可行的,但似乎应该有一个更简洁的方法来做这件事的正确方面,我不太明白 请注意,虽然他们都是存根用户,但这三个变量需要引用不同的存根模型。您可以尝试: @first_user, @second_user, @third_user = Array.new(3){ stub_m
@first_user, @second_user, @third_user = stub_model(User), stub_model(User), stub_model(User)
这是可行的,但似乎应该有一个更简洁的方法来做这件事的正确方面,我不太明白
请注意,虽然他们都是存根用户,但这三个变量需要引用不同的存根模型。您可以尝试:
@first_user, @second_user, @third_user = Array.new(3){ stub_model(User) }
示例:
Array.new(3){"foo"}.map(&:object_id)
# => [77834250, 77834230, 77834220]
Array.new(3){"12"}.map(&:object_id)
# => [77832800, 77832780, 77832770]
Array.new(3){{:a => 12 }}.map(&:object_id)
# => [77815300, 77815290, 77815270]
您可以尝试:
@first_user, @second_user, @third_user = Array.new(3){ stub_model(User) }
示例:
Array.new(3){"foo"}.map(&:object_id)
# => [77834250, 77834230, 77834220]
Array.new(3){"12"}.map(&:object_id)
# => [77832800, 77832780, 77832770]
Array.new(3){{:a => 12 }}.map(&:object_id)
# => [77815300, 77815290, 77815270]
试试这个:
@first_user, @second_user, @third_user = 3.times.map { stub_model(User) }
这只循环3次,并将结果映射到一个用户数组中,然后展开以分配给IVAR。尝试:
@first_user, @second_user, @third_user = 3.times.map { stub_model(User) }
这只需循环3次并将结果映射到一个用户数组中,然后将其展开以分配给IVAR。
@first\u user、@second\u user、@third\u user=(1..3)。收集{stub\u model(user)
?@AlexanderEkdahl查看我的答案…)@first\u user、@second\u user、@third\u user=(1..3)。收集{stub model(user)
?@AlexanderEkdahl查看我的答案…:)这不会生成唯一的对象。([“foo”]*3).映射(&:object\u id).uniq=>[17017940]
@ChrisHeald请看我已经更新了…)仍然不会生成唯一的对象。Array.new(3,“foo”).map(&:object\u id).uniq=>[32495460]
@chrished否…现在可以在这里查看Array.new(3,“12”).map(&:object_id)#=>[76336660,76336660,76336660]
这是对同一个对象的3个引用。它们不是唯一的对象。看看这些id是如何相同的吗?这不会产生唯一的对象。([“foo”]*3).map(&:object_id).uniq=>[17017940]
@ChrisHeald see I have updated.:)仍然不能生成唯一的对象。Array.new(3,“foo”).map(&:object\u id.uniq=>[32495460]
@ChrisHeald NO.…现在可以看到这里Array.new(3,“12”).map(&:object\u id)=>[76336660,76336660,76336660]
这是对同一个对象的3个引用。它们不是唯一的对象。看看ID是如何相同的?很好的学习…))谢谢你教我:)@Priti:你知道数组。新建可以创建元素,对吗?@muistooshort谢谢你提醒我。我忘了那个块。我已经更新了我的答案.:)学起来很好…:)谢谢你教我:)@Priti:你知道Array.new
可以用一个块来创建元素,对吧?@muistooshort谢谢你提醒我..我忘了块一了。我已经更新了我的答案。:)