对one_to_many关系的困惑Rails

时间:2016-07-18 14:34:21

标签: ruby-on-rails tags one-to-many

我对如何将多个标签分配给一个菜单项感到困惑。

如果我有一个名为' Tacos'的新菜单项,我希望此菜单项包含标签' Spicy'和'蛋白质'分配给它。

同样,如果我有一个名为' Steak'的新菜单项,我想应用相同的'蛋白质'标记到此项目。这可能吗?

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???

1 个答案:

答案 0 :(得分:1)

你如何使用它:

queryIntentActivites()

或者相反:

food_one = MenuItem.create(name: "Tacos", menu_tags: [menu_tag_1, menu_tag_2, ...])
food_one.menu_tags.create(name: "Spicy")

注意:在与之相关之前,您需要创建一个项目。