所以我有一系列项目,我正在迭代并单独抓取每个项目。我想更新一些项属性的值。我这样试过这个:
if @request.status = 'Approved'
session[:item_ids].each do |item_id|
item = Item.where(:id => item_id)
item.checked_out = item.requested
item.quantity = item.quantity - item.checked_out
item.requested = 1
end
不幸的是,这不起作用并且一直在抛出错误:
undefined method `requested' for #<ActiveRecord::Relation:0x007fd01e6ae2a8>
请求绝对是项类的属性,所以我不知道为什么我不能更新这些值。任何帮助将不胜感激!
答案 0 :(得分:3)
where
返回类似于集合的关系对象,而不是Item
对象。
试试这个:
item = Item.where(:id => item_id).first
我很惊讶它早先没有失败。