我有一个实例变量@items
,它是在控制器操作中执行@items = Item.all
时得到的。Item
类如下所示:
class Item < ActiveRecord::Base
attr_accessible :weight, :color, :price
validates :color, presence: true
validates :price, presence: true
end
我想做的是获取@items
中所有项目的:id
属性的值——我试图获取ID的控制器操作如下所示:
def get_item_ids
@items = Item.all
item_ids = ??? ## i'm stuck here
end
如何将item_ids
作为@items
中项目的:id
属性的数组?
如果您只需要id而不需要整个对象本身,MrYoshiji的答案是最好的:
item_ids = Item.scoped.pluck(:id)
然而,如果你已经在@items中有一个项目集合,那么你可以这样做:
item_ids = @items.map(&:id)