Ruby on rails 未定义的“更新”方法&x27;对于HasOneAssociation,对于Rails 4中的嵌套属性
所以我的问题是: 当我保存此表单时,会出现标题中的错误Ruby on rails 未定义的“更新”方法&x27;对于HasOneAssociation,对于Rails 4中的嵌套属性,ruby-on-rails,nested-attributes,has-one,Ruby On Rails,Nested Attributes,Has One,所以我的问题是: 当我保存此表单时,会出现标题中的错误 NoMethodError (undefined method `updated?' for #ActiveRecord::Associations::HasOneAssociation:0x00000008fcacf8>): 我在没有多态关联的情况下进行了检查,结果是一样的 当父模型(在这种情况下是BusinessClient)具有所属的时,它工作正常。但我不能相信我不能拥有孩子们保持父母id的体系结构。你知道我应该做些什么来
NoMethodError (undefined method `updated?' for
#ActiveRecord::Associations::HasOneAssociation:0x00000008fcacf8>):
我在没有多态关联的情况下进行了检查,结果是一样的
当父模型(在这种情况下是BusinessClient)具有所属的
时,它工作正常。但我不能相信我不能拥有孩子们保持父母id的体系结构。你知道我应该做些什么来让它工作吗?EDIT
实际上,在我的例子中,我已经定义了两次关系,一次是属于,一次是有一个到。漫长的一天:)亚瑟的回答应该是公认的
先前的答复:
Just had the same problem and worked it out. I had this:
has_one :organization, through: :event
I switched it to this:
has_one: organization, through: :event, autosave: false
我想这可能是一个ActiveRecord错误
自动保存,
但是(或有一个到)。看看要点,错误似乎在的定义:客户机关联:
belongs_to :client, foreign_key: :arch_crm_client_id
has_one :client, as: :client_details
您试图用相同的名称定义2个关系,这将使ActiveRecord失败。要解决这个问题,您需要重命名其中一个关联。看起来正确的答案是
class BusinessClient
我来到这里时遇到了同样的问题。果然,我有一个属于
,一个有一个
定义了相同的关系。我删除了旧的has_one
,现在我的测试再次通过。非常感谢。