具体来说...

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

09-28 14:03
查看更多