如果我有一个名为:inventory_items_shopping_lists
的HABTM连接表,如何在此表中创建和调用记录?我没有连接模型。两个已加入的模型为:inventory_items
和:shopping_lists
。我希望能够让用户将:inventory_items
添加到他们的:shopping_lists
。提前谢谢!
修改
以下是相关模型和我的目标:
class InventoryItem < ActiveRecord::Base
belongs_to :item, :foreign_key => :item_id
belongs_to :vendor
has_many :list_items
end
class ListItem < ActiveRecord::Base
belongs_to :inventory_item, :foreign_key => :item_id
belongs_to :shopping_list
end
class ShoppingList < ActiveRecord::Base
has_many :list_items
belongs_to :user, :foreign_key => :user_id
end
我正在尝试将:user
添加:inventory_items
添加到:shopping_list
,:list_items
将成为list_items
。 :inventory_items
具有几乎相同的:list_items
属性,因此我可能只是通过关联引用这些属性,而不是复制{{1}}表中的属性。对此有何想法或建议?我对RoR很新,所以我很欣赏这个计划任何部分的反馈意见。谢谢!
答案 0 :(得分:1)
如何在此表中创建和调用记录?
您基本上不使用HABTM关联类型。如果要在连接表上存储更多状态,则需要使用标准has_many
(可能是has_many :through
),以便操作基础连接模型。
出于这个原因,我从未成为HABTM的粉丝,事实上我在生产中有一些大型的Rails应用程序,而且我自己从未使用过HABTM。