模型自动更新存在问题,有人可以建议原因吗?
城市是用于各种应用程序的城市模型。 客户是使用城市的模型,但不是必需的。我尝试了不同的has_one
,belongs_to
组合,仅供参考。
rails g model city title:string customer:references
rails g model customer title:string city:references
class City < ApplicationRecord
belongs_to :customer, optional: true, autosave: true
end
class Customer < ApplicationRecord
has_one :city, autosave: true
end
尝试belongs_to :city
,效果相同。
现在,我们尝试使用调试数据为db播种:
City.create({title:'City 1'})
city_1 = City.find_by( id: 1 )
Customer.create(title:'Customer 1', city: city_1)
在db:reset
之后,我们有了具有'cities'
记录的表'City 1'
,但列customer_id
为空。我相信它应该包含“客户1”的ID。例如,为了能够呼叫Customer.all.includes(:city)
。
答案 0 :(得分:0)
城市是城市的模型,可在整个应用程序中使用
rails g model city title:string
city.rb
class City < ApplicationRecord
#has_many :customers
end
客户是使用城市的模型,但不是必需的。
rails g model customer title:string city:references
customer.rb(添加optional: true
以实现but not necessary.
)
class Customer < ApplicationRecord
belongs_to :city, optional: true
end
查询=>
city = City.create({title:'City 1'})
city_1 = City.find_by( id: 1 )
Customer.create(title:'Customer 1', city: city_1)
#Customer.create(title:'Customer 1', city_id: city_1.id)