Ruby on rails 具有\u one-to并接受\u嵌套的\u属性\u

Ruby on rails 具有\u one-to并接受\u嵌套的\u属性\u,ruby-on-rails,ruby,has-one-through,Ruby On Rails,Ruby,Has One Through,我正在尝试创建一个表单,用于编辑由has_one通过关系链接的2个对象: bank\u account.rb class BankAccount < ActiveRecord::Base belongs_to :user, inverse_of: :bank_account has_one :personal_information, through: :user accepts_nested_attributes_for :personal_information acc

我正在尝试创建一个表单,用于编辑由has_one通过关系链接的2个对象:

bank\u account.rb

class BankAccount < ActiveRecord::Base
  belongs_to :user, inverse_of: :bank_account
  has_one :personal_information, through: :user
  accepts_nested_attributes_for :personal_information
  accepts_nested_attributes_for :user
  #...
end
我得到这个错误:

ArgumentError: Cannot build association `personal_information'. Are you trying to build a polymorphic one-to-one association?
我对多态性的东西什么都不做,我不知道这个错误是从哪里来的


有什么想法吗?

如果一个用户只有
一个:个人信息
一个:银行账户
为什么要分开
:个人信息
为什么不把这些列添加到
用户
?另外,现在您可以将
银行账户
更改为只
接受用户的嵌套属性
,然后您可以将
个人信息属性
包装在
用户属性
中,它应该可以工作,因为
用户
可以
接受个人信息
的嵌套属性。谢谢建议工程师。但由于其他原因,这在这里是不可能的
class User < ActiveRecord::Base
  has_one :personal_information, inverse_of: :user
  has_one :bank_account, inverse_of: :user
  accepts_nested_attributes_for :personal_information
  #...
end
bank_account.update({:iban => 'XXX', :bic => 'XXX', personal_information_attributes: {
    first_name: 'first name',
    last_name: 'last name',
    address: 'address',
    zip: 'zip',
    city: 'city'
}})
ArgumentError: Cannot build association `personal_information'. Are you trying to build a polymorphic one-to-one association?