具体来说...
我不明白在新的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_*
文件仅滚动保存。我仍在调查原因/方式...
最佳答案
要在Rails 5.2中加载默认值(即config/initializers/new_framework_defaults_5_2.rb
),请在application.rb
中进行以下更改
config.load_defaults 5.2
然后从初始化程序中删除
new_framework_defaults_5_2.rb