从实例变量中获取单个属性的值

时间:2014-04-10 20:27:05

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

我有一个实例变量@items,它来自于在控制器操作中执行@items = Item.allItem类看起来像这样:

class Item < ActiveRecord::Base
  attr_accessible :weight, :color, :price
  validates :color, presence: true
  validates :price, presence: true
end

我想要做的是获取:id控制器操作中所有项目的@items属性的值,其中我试图获取ID看起来像这样:

def get_item_ids
  @items = Item.all
  item_ids = ??? ## i'm stuck here
end

如何将item_ids作为:id@items项属性的数组?

1 个答案:

答案 0 :(得分:2)

如果你只需要id而不是整个对象本身,MrYoshiji的答案是最好的:

item_ids = Item.scoped.pluck(:id)

但是,如果你已经在@items中拥有了一系列项目,那么你可以这样做:

item_ids = @items.map(&:id)