Arv*_*nje 8 ruby postgresql ruby-on-rails ruby-on-rails-5
据我所知,Rails 5中的新默认值要求belongs_to存在关联.我用这个关联建立了一个模型,但问题是当关联字段为空时我没有得到状态验证错误.相反,我得到一个数据库Null Validation错误,因为我将_id列设置为null.(PG :: NotNullViolation因为我使用Postgres)
这种行为是否正常?我的意思是我不应该只得到rails错误?
顺便说一句,当我为该字段添加状态验证时,它按预期工作.
Ole*_*yev 10
根据这个问题,配置的所有奇怪的行为属于all_to_required_by_default,看起来你的其他一个宝石介入ActiveRecord::Base并导致了这个错误.
该问题的解决方法之一是移动线
config.active_record.belongs_to_required_by_default = true
Run Code Online (Sandbox Code Playgroud)
从初始化者直接进入application.rb.
这对我很顺利.