如何在循环的帮助下创建数组

时间:2012-12-03 15:19:29

标签: ruby ruby-on-rails-3 loops instance-variables

我有一个模特图片:

class Image < ActiveRecord::Base
  attr_accessible :date, :description, :name, :quality, :size
end

我现在有一个带有一堆图像的实例变量:

@images = Image.where("id<30")

我想创建一个包含图像所有名称的@keywords变量。在Rails控制台中,我可以这样做:

for i in 0...@image.count
  puts @image[i].name
end

我得到了所有图像名称的列表。

如何在@keywords中定义images_controller变量以便将此列表存储在数组中?

@keywords = ...?

输出应该是一个列表,最好用逗号分隔,图像名称为:

"Blue ocean, Green leafs, Sunset in New York"

1 个答案:

答案 0 :(得分:4)

@keywords = @images.collect{|i| i.name}.join(",")

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