我需要一些帮助来理解这种关联类型。
我有2个模型(item_type和item)
item_type它只是一个类别,只有一个字段(标题)
ITEM_TYPE:
项:
所以,基本上我正在尝试在这些模型之间进行简单的关联。
class ItemType < ActiveRecord::Base
belongs_to :item
end
class Item < ActiveRecord::Base
has_one :item_type
end
我创建了一个项目并将其保存,但是当我提取它时,它应该显示item_type.title而不仅仅是item_type.id,对吗?
我已经知道belongs_to总是在包含foreign_key的表上,但在这种情况下,它对我来说没有多大意义..甚至反转关系,将has_one放在ItemType类上belongs_to到Item类,这种方式都可以。
在控制器代码中我有:
def show
@item = Item.find(params[:id], :include => 'item_type')
end
并且可以看到视图,以查看仅使用
创建的关系<%= debug @item %>
我做错了什么?
答案 0 :(得分:0)
我记得你需要将belongs_to放在包含外键的模型中,在你的例子中:
class ItemType < ActiveRecord::Base
has_one :item
end
class Item < ActiveRecord::Base
belongs_to :item_type
end
请参阅documentation。