代码之家  ›  专栏  ›  技术社区  ›  Craig Walker

AssociationTypeMismatch与嵌套模型窗体上的预期类型不匹配

  •  3
  • Craig Walker  · 技术社区  · 16 年前

    我在执行嵌套模型表单时遇到此异常:

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

    涉及的模型是配方和成分。配方有很多,并且接受“嵌套”的“属性”用于:配料,它属于“配方”。

    当我试图销毁(1)配方编辑/更新的嵌套成分表中的一种先前存在的成分时,我得到了这个异常。

    这没有什么意义,主要是因为关联类型如预期的那样(由异常自己承认)。

    更不合理的是 works just fine in a functional test .

    此外,如果我重新发布表单(在更新时通过浏览器刷新),它有时也会工作。如果我重新启动(开发)Web服务器,它也会工作。

    你知道是什么导致了这个,或者我应该寻找什么吗?

    2 回复  |  直到 15 年前
        1
  •  6
  •   rogerdpack    16 年前

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

        2
  •  -1
  •   Torsten    15 年前

    这有时可以通过添加正确的require来解决,从使用类的位置开始 你的 代码