我正在将Rails 4.2.6 App升级到5.0.0(也许,如果一切正常,我会尝试使用5.1或5.2)。
5.0.0中引入了新的Active Record配置默认值,我在config / new_framework_default.rb中看到:
# Require `belongs_to` associations by default. Previous versions had false.
Rails.application.config.active_record.belongs_to_required_by_default = true
因此,默认情况下,基本上每个belongs_to
关联都会经过验证,以确保存在。
我的问题是:
我真的很想在false
中使用此配置,因为我希望验证外键字段的存在。例如:
class Discount < ApplicationRecord
belongs_to :customer, :class_name => 'Customer', :foreign_key => :customer_id
validates :customer_id, presence: true
end
此外,我的App中有+250个模型,并且有+4000个belongs_to
关联。因此,这对我来说可能需要一段时间,并且可能是我的App的重大突破。
问题:
谢谢!