1つのメニュー項目に複数のタグを割り当てる方法が混乱しています。one_to_many関係の混乱Rails
「タコス」という名前の新しいメニューアイテムがある場合は、このメニューアイテムに「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に実装するには2つの方法があります。適切な文書を見つけるのが簡単になるはずです。 – Leito
1対多の意味を逆にしていると思いませんか?メニュー項目に多数のタグがある場合、タグの2つのメニュー項目IDをどのように渡すことができますか? – uday
これは多対多であるべきですか?ありがとう@RaVeN。 – user3007294