Ruby 如何借助循环创建数组

Ruby 如何借助循环创建数组,ruby,ruby-on-rails-3,loops,instance-variables,Ruby,Ruby On Rails 3,Loops,Instance Variables,我有一个模型图像: class Image < ActiveRecord::Base attr_accessible :date, :description, :name, :quality, :size end 我得到了所有图片名称的列表 如何在我的images\u控制器中定义@keywords变量,以便将此列表存储在数组中 @keywords = ...? 输出应该是一个列表,最好用逗号分隔,带有图像名称: "Blue ocean, Green leafs, Sunset in

我有一个模型图像:

class Image < ActiveRecord::Base
  attr_accessible :date, :description, :name, :quality, :size
end
我得到了所有图片名称的列表

如何在我的
images\u控制器
中定义
@keywords
变量,以便将此列表存储在数组中

@keywords = ...?
输出应该是一个列表,最好用逗号分隔,带有图像名称:

"Blue ocean, Green leafs, Sunset in New York"
这将得到一个包含所有名称的数组,并将它们连接成一个逗号分隔的字符串


这将获得一个所有名称的数组,并将它们连接成一个逗号分隔的字符串。

shorter:
@images.map(&:name)。join(',')
:-)shorter:
@images.map(&:name)*',“
如果我们正在玩这个游戏,这是将其更改为短版本的“好方法”,还是这也是一个性能问题,意味着查询将花费更少的时间?这主要是语法上的甜点-根据文档,map是collect的别名,而带有字符串的#*与join相同。我不确定&:name语法是否比我提供的块快。shorter:
@images.map(&:name).join(',')
:-)shorter:
@images.map(&:name)*',
如果我们在玩那个游戏。这是将它改为短版本的“好”还是性能问题,意味着查询将花费更少的时间?这主要是语法上的甜点-根据文档,map是collect的别名,而带有字符串的#*与join相同。&:name语法是否比我提供的块快,我不确定。
@keywords = ...?
"Blue ocean, Green leafs, Sunset in New York"
@keywords = @images.collect{|i| i.name}.join(",")