2

在一个新的 Rails 项目中,批量分配在生产中未设置为严格的原因以及在开发和测试中设置为严格的原因是什么?

4

1 回答 1

4

你的意思是这条线,我假设:

# Raise exception on mass assignment protection for Active Record models
config.active_record.mass_assignment_sanitizer = :strict

这不会设置批量分配保护本身 - 无论环境如何,它都默认为受保护。正如评论所暗示的那样,它的作用是告诉 Rails 在批量分配错误时引发异常,这有助于开发和测试。在生产中,这些都被忽略了。

从以下文档attr_protected

对这些属性的批量分配将被忽略,要分配给它们,您可以使用直接编写器方法。这是为了保护敏感属性不被篡改 URL 或表单的恶意用户覆盖。

于 2012-11-06T19:12:12.347 回答