Rails模型有两个外键

时间:2014-07-29 00:04:39

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

我有一个物品模型和商品模型。这个想法是一个物品可以有很多其他物品的报价(例如,物品1有第2项的报价)。 Offer模型唯一拥有的是item_id,在本例中为1,在这种情况下为provided_item_id 2.我似乎无法正确获取关联。

我的目标是返回一个列表,其中包含用户的项目以及每个项目的交易项目信息。到目前为止,我有:

    "item_id": "2",
    "item_name":"test",    
    "offers": [
        {
            "id": 1,
            "item_id": 2,
            **"offered_item_id": 3**
        }]

在优惠详情之上,我想显示item_id = 3的信息。我怎样才能实现这一目标?

项目模型

class Item < ActiveRecord::Base
  belongs_to :user
  has_many :offers, :class_name => 'Offer', :foreign_key => :item_id
  has_many :offers_as_offered, :class_name => 'Offer', :foreign_key => :offered_item_id
end

提供型号

class Offer < ActiveRecord::Base
 belongs_to :item, :class_name => "Item"
 belongs_to :offered_item, :class_name => "Item"
end

模式

create_table "items", force: true do |t|
 t.integer  "user_id"
 t.string   "brand"
 t.string   "item_type"
end


 create_table "offers", force: true do |t|
    t.integer  "item_id"
    t.integer  "offered_item_id"
 end

提前致谢。

0 个答案:

没有答案