我有标准公司有很多地址的情况,在我的公司模型中我有这个:
has_many :company_addresses
accepts_nested_attributes_for :company_addresses, allow_destroy: true
在我公司的地址模型中,我有这个:
belongs_to :company, counter_cache: true
validates :city, :zip, :street, :country, presence: true
现在,当我尝试通过公司更新实际地址时:
company_address = company.company_addresses.first
company.assign_attributes(company_addresses_attributes: [id: company_address.id, street: 'New Street'])
company.save!
实际的地址对象没有改变,为什么会这样?我在这里做错了什么?
答案 0 :(得分:1)
您应该发布错误消息以获得更好的帮助。这就是说,我可以看到您添加了city
,zip
,street
,country
的验证。但是,在使用company_addresses_attributes: [id: company_address.id, street: 'New Street']
分配属性时,您错过了city
,zip
,country
。
同样,在没有看到任何实际错误的情况下,无法确定这是否是确切的问题。试着让我知道。