将父项的属性显示给子模型到父模型

时间:2012-01-22 02:21:49

标签: ruby-on-rails ruby-on-rails-3.1

在下面的示例中,在框控制器或视图中显示item_category.name属性的正确方法是什么?

class Box < ActiveRecord::Base
  has_one :item, :dependent => :destroy
  accepts_nested_attributes_for :item, :allow_destroy => true
end


class Item < ActiveRecord::Base
  belongs_to :box
  belongs_to :item_category

end

class ItemCategory < ActiveRecord::Base
  has_many :items
  #contains 'name' attribute
end

我预计会有一些像这样的语法不起作用:

<%= @box.item.item_category.name %>

这给了我以下错误“nil的未定义方法`名称:NilClass”

由于

编辑: 抱歉,item类包含belongs_to item_category(非公司),我编辑了示例。

1 个答案:

答案 0 :(得分:0)

由于您的关联设置正确,可能会发生这种情况,因为您的Item没有关联的类别,这意味着其item_category_id字段为nil