【发布时间】:2010-05-24 19:51:41
【问题描述】:
我在做嵌套模型表单时遇到了这个异常:
ActiveRecord::AssociationTypeMismatch in RecipesController#update
Ingredient(#35624480) expected, got Ingredient(#34767560)
涉及的模型是配方和成分。配方 has_many 和 accept_nested_attributes_for :ingredients, which belongs_to :recipe.
我在尝试 _destroy (=1) 用于配方编辑/更新的嵌套成分表单上的一种预先存在的成分时遇到此异常。
这没什么意义,主要是因为关联类型符合预期(由异常自己承认)。
更没有意义的是works just fine in a functional test。
此外,如果我重新发布表单(通过更新时的浏览器刷新),它有时会起作用。如果我重新启动(开发)网络服务器,它也将起作用。
有什么想法可能导致这种情况,或者我应该寻找什么?
【问题讨论】:
-
您是否比较了第一次(失败)和第二次(成功)更新的日志条目?
-
不,但这是个好主意。谢谢。
-
删除之前的日志是相同的;失败的日志有异常,成功的有删除SQL。
标签: ruby-on-rails ruby exception nested-forms