是否有禁用强参数的方法?
我知道这是一个安全漏洞,但我真的不需要/想要它。
有了这个必须注意的事项,以下是如何关闭它:
config.action_controller.permit_all_parameters = true
将其放入config/application.rb
我遇到了这个问题,我试图存储Stripe中webhook中的所有param。
如果您想允许单个实例的所有参数,可以在将params对象传递到initialize方法之前,对其调用#to_hash。
例如:
@my_object = MyObject.new(params[:my_object].to_hash)
如果您所说的"disable"是指回到Rails 3风格的attr_accessible
行,那么是的。
只需使用protected_attributes宝石。
我不这么认为。
DHH在这里评论了向强参数添加禁用开关的请求
所有这些都是遗留问题,因为Rails4.0会强制每个人使用强参数,而你将无法关闭它
要停止为应用程序检查禁止的属性,您可以修补检查。。
例如,在中放入以下代码
config/initializers/deisable_strong参数.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