Tom*_*ogg 2 validation associations ruby-on-rails-6
我有以下2个型号:
class Offer < ApplicationRecord
has_many :bookings
end
class Booking < ApplicationRecord
belongs_to :offer
end
Run Code Online (Sandbox Code Playgroud)
当我尝试保存没有 Offer_id 的 Booking 对象时,Rails 会抛出验证错误“需要 Offer”。
但我不会主动验证关联对象是否存在(我打算稍后为此关联添加条件验证)。
这是否意味着 Rails 6 默认情况下会验证所有关联的存在?如果是,我怎样才能使这样的验证成为有条件的?
从 Rails 5 开始,belongs_to默认添加存在验证。您可以通过以下方式禁用此行为application.rb:
config.active_record.belongs_to_required_by_default = false
Run Code Online (Sandbox Code Playgroud)
或者,如果您希望它仅在此处是可选的,belongs_to您可以将optional选项传递给belongs_to:
belongs_to :offer, optional: true
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1770 次 |
| 最近记录: |