我有一个物品模型和商品模型。这个想法是一个物品可以有很多其他物品的报价(例如,物品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
提前致谢。