Ruby on rails 具有\u one-to并接受\u嵌套的\u属性\u
我正在尝试创建一个表单,用于编辑由has_one通过关系链接的2个对象: bank\u account.rbRuby 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
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?