【问题标题】:How does "config/initializers/new_framework_defaults_5_2.rb" work?“config/initializers/new_framework_defaults_5_2.rb”是如何工作的?
【发布时间】:2018-06-16 23:43:22
【问题描述】:

具体...

我不明白在 Rails 5.2 应用程序中,如果您进入控制台并检查Rails.application.config.action_controller.default_protect_from_forgery,它将返回true

...但是升级 Rails 5.2 应用程序,如果您进入控制台并检查Rails.application.config.action_controller.default_protect_from_forgery,它将返回nil(除非您在config/initializers/new_framework_defaults_5_2.rb 中手动设置)

This GitHub comment 提到了这种行为,但我不明白它是如何工作的,而且我还没有找到任何文档。

WIP 更新: This issue 似乎决定在新生成的应用程序中不包含 new_framework_defaults* 文件。然后this pull request 提到new_framework_defaults_* 文件仅以滚动方式保存。我仍在研究为什么/如何...

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-5.2


    【解决方案1】:

    要在 Rails 5.2 中加载默认值(即 config/initializers/new_framework_defaults_5_2.rb),请在 application.rb 中进行以下更改

    config.load_defaults 5.2
    

    然后从初始化器中删除new_framework_defaults_5_2.rb

    【讨论】:

    • 这仍然令人惊讶地缺乏记录。感谢您的澄清!
    【解决方案2】:
    config.load_defaults Rails::VERSION::STRING.to_f
    

    将永远解决问题)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多