我遇到了一个非常奇怪的案例,对于我的生活我无法弄清楚:
我在Heroku上有一个Rails5应用程序,在基于belongs_to
外键列上的nil值的模型中,在生产中(而不是在本地开发或测试中)抛出验证错误。
我很清楚每个this post的Rails5行为发生了变化,默认情况下需要belongs_to
,但我通过在{Rails.application.config.active_record.belongs_to_required_by_default = false
中设置new_framework_defaults_5_1.rb
将其关闭为验证要求{1}}初始化程序 - 我在几个月前完成Rails5升级后添加了这个文件/行,并且自从...直到现在这个行为刚刚开始在我最近的Heroku部署中发生时才开始工作。
特别奇怪的是:
belongs_to
rails console
中复制 - m = Model.new; m.valid?返回true(尽管有nil belongs_to列ids)这不是由web app触发的行为¯\ _(ツ)_ /¯所以我感到难过/惊恐,并想知道是否有人有智慧。感觉它必须与Heroku如何/如果在启动期间加载相关的初始化程序文件(最近可能已更改)有关?