我还没有切换到 Rails 4 并且一直在研究 strong_params。我喜欢我所看到的并且只想在 1 个模型上使用它。看起来很简单,但我想在我的config > application.rb文件中注释掉 'config.active_record.whitelist_attributes = true'。
如何仅在某些模型中安全(安全)使用 strong_params?
我还没有切换到 Rails 4 并且一直在研究 strong_params。我喜欢我所看到的并且只想在 1 个模型上使用它。看起来很简单,但我想在我的config > application.rb文件中注释掉 'config.active_record.whitelist_attributes = true'。
如何仅在某些模型中安全(安全)使用 strong_params?
我建议这种方法:默认情况下启用强参数,并专门为不需要它的控制器禁用它。(是的,强大的参数现在在 Rails 4 的控制器中,不再在模型中)
要禁用特定控制器,您可以使用params.require(:model_name).permit!
这将允许该特定控制器的任何参数
例子
class UnsafeController
...
def update
...
@unsafe.update unsafe_params
...
end
private
def unsafe_params
params.require(:unsafe).permit!
end
end