Rails连接表记录创建

时间:2013-08-16 18:22:12

标签: ruby-on-rails database jointable

如果我有一个名为: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很新,所以我很欣赏这个计划任何部分的反馈意见。谢谢!

1 个答案:

答案 0 :(得分:1)

  

如何在此表中创建和调用记录?

您基本上不使用HABTM关联类型。如果要在连接表上存储更多状态,则需要使用标准has_many(可能是has_many :through),以便操作基础连接模型。

出于这个原因,我从未成为HABTM的粉丝,事实上我在生产中有一些大型的Rails应用程序,而且我自己从未使用过HABTM。