我对如何为一个菜单项分配多个标签感到困惑。
如果我有一个名为'Tacos‘的新菜单项,我希望这个菜单项有标签'Spicy’和‘蛋白质’分配给它。
类似地,如果我有一个名为“牛排”的新菜单项,我想将相同的‘蛋白质’标签应用于这个项目。这个是可能的吗?
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???发布于 2016-07-18 14:39:17
你如何使用它:
food_one = MenuItem.create(name: "Tacos", menu_tags: [menu_tag_1, menu_tag_2, ...])
food_one.menu_tags.create(name: "Spicy")或者反过来说:
MenuTag.create(name: "Protein", menu_item: food_one)# using instances
MenuTag.create(name: "Protein", menu_item_id: food_one.id) # using ids注意:在与它们相关之前,您需要创建一个项目。
https://stackoverflow.com/questions/38439413
复制相似问题