使用rails 3中的嵌套表单防止重复的模型对象

时间:2012-06-19 18:25:33

标签: ruby-on-rails ruby-on-rails-3 forms has-many-through

我为Recipes模型设置了一个表单,其中包含了accept_nested_attributes_for Ingredients。表格和保存工作正常,但是,我想检查数据库中每种成分的存在。该表格似乎正在为成分创建新的记录,即使它们已经存在于数据库中。

食谱和配料使用'has_many:through'关系相关。是否有一种干净的方法可以确保在提交表单时重复成分,但关系仍然存在?

2 个答案:

答案 0 :(得分:0)

类似的问题可能会对此有所帮助,尽管解决方案不是那个合法的

Rails nested form on many-to-many: how to prevent duplicates?

答案 1 :(得分:0)

这是关于你如何从用户那里获取信息 - 你的表格是。 如果您在配方的新/编辑形式中有成分的多重选择输入,并且您在那里显示所有现有成分,用户可以选择现有成分,并且这些表格中的POST / PUT将具有现有成分'ID作为表单的一部分数据。这不会产生新的成分。