为什么 "action_mailer.perform_caching" 包含在 config/environments/test.rb 的请求伪造保护范围内?
Why is "action_mailer.perform_caching" included under the umbrella of request forgery protection in config/environments/test.rb?
Rails v5.1.6, Ruby 2.3.3
在我新生成的 Rails 应用程序中,我在 config/environments/test.rb
中看到以下代码:
# Disable request forgery protection in test environment.
config.action_controller.allow_forgery_protection = false
config.action_mailer.perform_caching = false
此文件中所有相关代码部分似乎都由注释分隔,包括此部分。对我来说,这意味着这两行未注释的代码是相互关联的,并且都属于请求伪造保护的范畴(如评论中所述)。
我明白为什么像 action_controller.allow_forgery_protection
这样的行会属于这一类,但我不明白为什么 action_mailer.perform_caching
会这样。大多数其他代码行都很简单(尤其是它们各自的注释),但此文件中没有任何内容使这一行代码更加清晰,至少对我而言。
缓存电子邮件和请求伪造之间有什么联系?或者我是否错误地解释了分隔符,即电子邮件实际上 与请求伪造无关 ?
更新: 我怀疑第二种情况可能是这种情况(即这两个概念可能不相关),因为在 config/environments/production.rb
中,同一行代码是在与请求伪造无关的配置部分中找到:
# Use a real queuing backend for Active Job (and separate queues per environment)
# config.active_job.queue_adapter = :resque
# config.active_job.queue_name_prefix = "wms_#{Rails.env}"
config.action_mailer.perform_caching = false
但是,第二意见也不会出错。
他们没有关系。您可以在 the current (future 6.0) template source 中看到它们旨在更清楚地分开,有空行,现在甚至还有另一个不相关的设置。
缺失的空行似乎是格式错误 introduced during Rails 5.0 development,其中添加了 perform_caching
,并且(因为模板格式使其不太清楚)前面的空白不是。
Comparing the generated config/environments/test.rb
between 5.1.6 and 5.2.1 确认它在较新版本中看起来更好(尽管该行确实作为该文件中唯一没有匹配注释的设置之一脱颖而出)。
Rails v5.1.6, Ruby 2.3.3
在我新生成的 Rails 应用程序中,我在 config/environments/test.rb
中看到以下代码:
# Disable request forgery protection in test environment.
config.action_controller.allow_forgery_protection = false
config.action_mailer.perform_caching = false
此文件中所有相关代码部分似乎都由注释分隔,包括此部分。对我来说,这意味着这两行未注释的代码是相互关联的,并且都属于请求伪造保护的范畴(如评论中所述)。
我明白为什么像 action_controller.allow_forgery_protection
这样的行会属于这一类,但我不明白为什么 action_mailer.perform_caching
会这样。大多数其他代码行都很简单(尤其是它们各自的注释),但此文件中没有任何内容使这一行代码更加清晰,至少对我而言。
缓存电子邮件和请求伪造之间有什么联系?或者我是否错误地解释了分隔符,即电子邮件实际上 与请求伪造无关 ?
更新: 我怀疑第二种情况可能是这种情况(即这两个概念可能不相关),因为在 config/environments/production.rb
中,同一行代码是在与请求伪造无关的配置部分中找到:
# Use a real queuing backend for Active Job (and separate queues per environment)
# config.active_job.queue_adapter = :resque
# config.active_job.queue_name_prefix = "wms_#{Rails.env}"
config.action_mailer.perform_caching = false
但是,第二意见也不会出错。
他们没有关系。您可以在 the current (future 6.0) template source 中看到它们旨在更清楚地分开,有空行,现在甚至还有另一个不相关的设置。
缺失的空行似乎是格式错误 introduced during Rails 5.0 development,其中添加了 perform_caching
,并且(因为模板格式使其不太清楚)前面的空白不是。
Comparing the generated config/environments/test.rb
between 5.1.6 and 5.2.1 确认它在较新版本中看起来更好(尽管该行确实作为该文件中唯一没有匹配注释的设置之一脱颖而出)。