Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 未定义的“更新”方法&x27;对于HasOneAssociation,对于Rails 4中的嵌套属性_Ruby On Rails_Nested Attributes_Has One - Fatal编程技术网

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
,现在我的测试再次通过。非常感谢。