首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >one_to_many关系的混淆-- Rails

one_to_many关系的混淆-- Rails
EN

Stack Overflow用户
提问于 2016-07-18 14:34:21
回答 1查看 29关注 0票数 0

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

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

类似地,如果我有一个名为“牛排”的新菜单项,我想将相同的‘蛋白质’标签应用于这个项目。这个是可能的吗?

代码语言:javascript
复制
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???
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-18 14:39:17

你如何使用它:

代码语言:javascript
复制
food_one = MenuItem.create(name: "Tacos", menu_tags: [menu_tag_1, menu_tag_2, ...])
food_one.menu_tags.create(name: "Spicy")

或者反过来说:

代码语言:javascript
复制
MenuTag.create(name: "Protein", menu_item: food_one)# using instances
MenuTag.create(name: "Protein", menu_item_id: food_one.id) # using ids

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38439413

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档