我有以下关联:
class Tenant < ApplicationRecord
belongs_to :landowner
end
和
class Landowner < ApplicationRecord
has_many :tenants
end
在我的Web应用程序中,当我初始化Tenant
对象时,我添加了一个默认的Landowner
,该ID已经存储,其ID为0:
# my initilisation
new_tenant = Tenant.create(landowner_id: 0)
我遇到的问题是,我想将此Tenant
对象的土地所有者更新为新的土地所有者,例如ID为1。我正在尝试通过控制台使用以下方法进行操作:
# I only have one tenant, and I made sure the last landowner is a new different landowner
Tenant.first.landowner = Landowner.last
Tenant.first.save!
我没有收到任何错误,但更改没有持久。我也尝试过:
Tenant.first.update({:landowner_id => 1})
但是这也不起作用(没有错误,但是更改不会持续)。有人可以帮我吗?
tenant = Tenant.first
tenant.landowner = Landowner.last
tenant.save!
这将保存或引发验证错误。
希望有帮助!