AssociationTypeMismatch与嵌套模型表单上的预期类型

时间:2010-05-24 19:51:42

标签: ruby-on-rails ruby exception nested-forms

在执行嵌套模型表单时,我遇到了这个异常:

ActiveRecord::AssociationTypeMismatch in RecipesController#update 
  Ingredient(#35624480) expected, got Ingredient(#34767560)

涉及的模型是食谱和成分。食谱has_many和accepts_nested_attributes_for:成分,属于:食谱。

我尝试在配方编辑/更新的嵌套成分表单上_destroy(= 1)预先存在的成分之一时出现此异常。

这没什么意义,主要是因为关联类型是预期的(由例外自己承认)。

更有意义的是它works just fine in a functional test

此外,如果我重新发布表单(通过更新时的浏览器刷新),它有时也有效。如果我重新启动(开发)网络服务器,它也会起作用。

任何想法可能导致这种情况,或者我应该寻找什么?

2 个答案:

答案 0 :(得分:6)

这通常意味着“rails无法成功重新加载一次” 在您的environment / xxx文件中,您可以将其更改为不重新加载,或允许重新加载。

答案 1 :(得分:-1)

有时可以通过添加正确的要求来修复此问题,从您的代码

中使用该类开始