我正在设置一个应用程序来发布想要/可用/易货的物品。我有两个主要类,Post 和 Item。
每个帖子都包含一个 offer_item、一个 Want_item,或者两者都包含。以下是我目前的定义:
class Post < ActiveRecord::Base
has_one :wanted_item, :class_name => 'Item', :dependent => :destroy
has_one :offered_item, :class_name => 'Item', :dependent => :destroy
has_one :location, :dependent => :destroy
end
和
class Item < ActiveRecord::Base
belongs_to :post
attr_accessible :title, :description
end
关于我的问题:如何构建 Items 表中的外键,以便我可以分辨出哪个帖子(以及它是wanted_item 还是 offer_item)? 这是在迁移文件中还是在模型中完成的?
就目前而言,当我尝试这样的查询时:
Post.find(:first).wanted_item
我得到以下信息:
SQLite3::SQLException: 没有这样的列: items.post_id: SELECT "items".* FROM "items" WHERE "items"."post_id" = 1 LIMIT 1