首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关联模型自动更新?

问关联模型自动更新?
EN

Stack Overflow用户
提问于 2018-11-01 09:08:57
回答 1查看 40关注 0票数 0

有问题的模型自动更新,谁能提出原因吗?

City是用于城市的模型,跨应用程序使用。Customer是使用城市的模型,但没有必要。我尝试过不同的has_one,belongs_to组合,FYI。

代码语言:javascript
复制
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添加种子:

代码语言:javascript
复制
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)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-01 09:53:49

城市是城市的模型,跨应用。

代码语言:javascript
复制
rails g model city title:string

city.rb

代码语言:javascript
复制
class City < ApplicationRecord
  #has_many :customers
end

客户是使用城市的模型,但没有必要。

代码语言:javascript
复制
rails g model customer title:string city:references

Customer.rb(添加optional: true以实现but not necessary.)

代码语言:javascript
复制
class Customer < ApplicationRecord
  belongs_to :city, optional: true 
end

Queries= >

代码语言:javascript
复制
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)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53098113

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档