无论如何禁用使用强参数?
而且我知道这是一个安全漏洞,但我真的不需要它/想要它。
关闭属性保护几乎总是一个坏主意。
有了这个强制性说明,以下是关闭它的方法:
config.action_controller.permit_all_parameters = true
把这个放在config/application.rb
我遇到了这个问题,我试图从 Stripe 的 webhook 存储所有参数。
如果您想允许单个实例的所有参数,您可以在 params 对象上调用 #to_hash,然后再将其传递给您的初始化方法。
前任:
@my_object = MyObject.new(params[:my_object].to_hash)
如果“禁用”是指回退到 Rails 3 风格的attr_accessible
行,那么是的。
只需使用protected_attributes gem。
要停止为您的应用程序检查禁止的属性,您可以修补检查..
例如将以下代码放入
config/initializers/disable_strong_parameters.rb
module ActiveModel
module ForbiddenAttributesProtection
protected
def sanitize_for_mass_assignment(attributes)
attributes
end
alias :sanitize_forbidden_attributes :sanitize_for_mass_assignment
end
end
当然可以!根据强参数的官方文档(https://github.com/rails/strong_parameters),您可以通过将以下代码添加到您的 config/application.rb 来禁用:
config.active_record.whitelist_attributes = false
它适用于我在 rails 3.2