"config/initializers/new_framework_defaults_5_2.rb"如何工作?

Jam*_*ier 8 ruby-on-rails ruby-on-rails-5.2

特别...

我不明白在新的 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)

这个GitHub评论提到了这种行为,但我不明白这是如何工作的,我还没有找到任何文档.

WIP更新: 此问题似乎决定不在new_framework_defaults*新生成的应用程序中包含文件.然后这个拉取请求提到new_framework_defaults_*文件只是滚动保存.我还在调查为什么/如何......

PGi*_*ill 14

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

config.load_defaults 5.2
Run Code Online (Sandbox Code Playgroud)

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