8

如果尝试批量分配 attr_accessible 不允许的属性,是否有办法让 rails 引发错误?

这在开发中会很方便,以提醒我为什么我闪亮的新模型无法正常工作,并且还可以很好地登录生产以检测恶意活动。

我正在使用 rails 2.3.8,但可能很快就会迁移到 3。

4

3 回答 3

6

从 Rails 3.2 开始,这不再需要猴子补丁——rails 现在提供了这种行为。把它放在development.rbtest.rb中:

config.active_record.mass_assignment_sanitizer = :strict
于 2011-11-12T21:15:51.877 回答
2

我建议将 Bento 项目之类的东西整合到他们的 Rails 应用程序中。

他们在 config/initializers/ 下创建 Rails Initializer,然后覆盖 ActiveModel 类中的适当方法以引发 MassAssignmentError(在非生产环境中)。

于 2011-01-16T04:41:36.657 回答
0

我不确定这是否可行,但您可以编写一个测试来查看您的对象是否“respond_to(:unexpected_attr)”。然后,您可以尝试强制喂它 attr

亚历克斯

于 2011-01-13T18:34:09.573 回答