从控制器内更新classes属性

时间:2012-06-14 18:18:07

标签: ruby-on-rails ruby ruby-on-rails-3 controller

所以我有一系列项目,我正在迭代并单独抓取每个项目。我想更新一些项属性的值。我这样试过这个:

  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>

请求绝对是项类的属性,所以我不知道为什么我不能更新这些值。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:3)

where返回类似于集合的关系对象,而不是Item对象。

试试这个:

item = Item.where(:id => item_id).first

我很惊讶它早先没有失败。