我很困惑如何將多個標籤分配給一個菜單項。one_to_many關係混亂Rails
如果我有一個名爲'Tacos'的新菜單項,我希望這個菜單項具有標籤'Spicy'和'Protein'分配給它。同樣,如果我有一個名爲'Steak'的新菜單項,我想將相同的'Protein'標籤應用於此項目。這可能嗎?
class MenuTag < ActiveRecord::Base
belongs_to :menu_item
end
class MenuItem < ActiveRecord::Base
has_many :menu_tags
end
food_one = MenuItem.new(name: "Tacos", tags: NOT SURE WHAT GOES HERE???)
food_two = MenuItem.new(name: "Steak", tags: NOT SURE WHAT GOES HERE???)
spicy = MenuTag.new(name: "Spicy", menu_item_id: 1)
protein = MenuTag.new(name: "Protein, menu_item_id: 1,2) <---- can I assign two id's here???
你想要什麼叫做has並且屬於許多(HABTM)關係。有兩種方式在Rails上實現它。知道你知道這個名字應該更容易找到正確的文檔。 – Leito
你不覺得你正在做一對多的手段嗎?如果一個菜單項有很多標籤,那麼你如何傳遞兩個標籤的菜單項ID? – uday
這應該是多對多嗎? – user3007294