Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails times.do分配给实例变量_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails Rails times.do分配给实例变量

Ruby on rails Rails times.do分配给实例变量,ruby-on-rails,ruby,Ruby On Rails,Ruby,正确的方法是什么: @items = 10.times.do Item.create(name: Faker::Name) end 创建10个随机项目并将其分配给实例变量?如果您想要项目对象的数组,请尝试此操作 @items = [] 10.times do @items << Item.create(name: Faker::Name) end 希望有帮助 如果您想要项目对象的数组,请尝试以下操作 @items = [] 10.times do @it

正确的方法是什么:

@items = 10.times.do
    Item.create(name: Faker::Name)
 end

创建10个随机项目并将其分配给实例变量?

如果您想要
项目
对象的
数组
,请尝试此操作

@items = []

10.times do 
  @items << Item.create(name: Faker::Name)
end

希望有帮助

如果您想要
项目
对象的
数组
,请尝试以下操作

@items = []

10.times do 
  @items << Item.create(name: Faker::Name)
end

希望有帮助

除了上面的答案,您还可以使用
#with_object

@items = 10.times.with_object([]) do |_, res|
  res << Item.create(name: Faker::Name)
end
多亏了@maxpleaner,还有一个解决方案:

@items = 10.times.map { Item.create(name: Faker::Name) } 
多亏了@engineersmnky,还有一些解决方案:

@items = Item.create(10.times.map { {name: Faker::Name}})

除了上面的答案之外,您还可以使用
#with_object

@items = 10.times.with_object([]) do |_, res|
  res << Item.create(name: Faker::Name)
end
多亏了@maxpleaner,还有一个解决方案:

@items = 10.times.map { Item.create(name: Faker::Name) } 
多亏了@engineersmnky,还有一些解决方案:

@items = Item.create(10.times.map { {name: Faker::Name}})

10.times.map
也可以使用,它更接近于使用map的@maxpleaner解决方案。谢谢还有
Item.create(10.times.map{{{name:Faker::name}}})
和rails 6中的
Item.find(Item.insert_all(10.times.map{{name:Faker::name}}).rows.flatte)
一次插入所有行,然后检索所有行
10.times.map
也可以使用,并且更接近于使用map的@maxpleaner解决方案。谢谢还有
Item.create(10.times.map{{{name:Faker::name}}})
和rails 6中的
Item.find(Item.insert_all(10.times.map{{{name:Faker::name}}).rows.flatte)
一次全部插入,然后全部检索