【发布时间】:2018-09-27 07:15:23
【问题描述】:
我是一名学习 Rails 的学生,我的项目是制作一个食谱应用程序。我的食谱应用程序有模型Recipe、Ingredient 和其他东西,但重要的是Ingredient 必须是它在表中的唯一成分。一行将只是一个 ID 和名称。表中只能有一个“大米”,因此任何使用大米作为配料的Recipe 都使用同一行。这样(我猜)我可以通过Ingredients 过滤Recipes。
在创建/编辑Recipe 时,我必须使用嵌套表单,因此用户可以在一个屏幕上填写食谱信息和配料,包括添加新的Ingredients,并从下拉列表中选择配料选择。在编辑中,用户还可以从Recipe 中删除(解除关联)和Ingredient。
我知道我需要一个连接表(recipes_ingredients?? 如果需要,模型叫什么,RecipesIngredient?
我真的不明白这个嵌套表单是如何工作的。我要为所有Ingredients 创建一个fields_for?如何解除关联和创建?
也许有人可以指出我可以阅读的正确方向。我已经绞尽脑汁很久了,甚至两次开始这个项目。我很沮丧,但我觉得我离理解它很近了。
我也尝试过使用 simple_form 和 cocoon,但我觉得这让我更加困惑。
关于这个主题的任何启示都会令人惊叹。谢谢你。
【问题讨论】:
-
你的问题很广泛。尝试使用
has_many through关联设置您的模型,然后使用cocoongem 设置您的嵌套表单。如果您已经尝试过这种方法,请更新您的问题,清楚地解释问题。
标签: ruby-on-rails activerecord nested-forms