Rails 4.2.6迁移至5.0.0(属于“ _to_required_by_default”)

时间:2018-11-09 15:40:42

标签: ruby-on-rails ruby-on-rails-4 ruby-on-rails-5

我正在将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的重大突破。

问题:

  • 如果将配置设置为false,有什么问题吗?并在不确定的时间内保持这种状态。
  • 将来的Rails版本中会被破坏吗? > 5.0.0

谢谢!

0 个答案:

没有答案