1

我有一个用户模型,它有一个规范。在我的用户模型中,我确实指定了accepts_nested_attributes_for :spec 和attr_accessible :spec_attributes。

我为用户和规范创建了一个嵌套表单(嵌套)。发送到 #create 方法的哈希看起来不错:

 Parameters: {"utf8"=>"✓", "authenticity_token"=>"XXX", "user"=>{"first_name"=>"Adam", 
  "last_name"=>"Smith", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]", 
  "spec_attributes"=>{"highest_degree"=>""}}

但是,我有无法建立关联规范的错误:

ArgumentError (Cannot build association spec. Are you trying to build a polymorphic 
one-to-one association?)

我的规范不是多态的。当我尝试在用户对象上调用 build_spec 时,我收到一条错误消息,指出这是一条私人消息。我打开了这个错误的源代码,它说当用户没有响应方法 build_spec 时会出现这个消息错误。

我做错了什么,我该如何解决?

谢谢你。

4

1 回答 1

1

我想到了。我创建了一个名为 build_spec 的私有方法,因此覆盖了 build_association 的默认方法。

于 2011-11-22T02:27:18.363 回答