Rails Strong Parameters: 在 Rails 中通过 strong params 来设置允许通过的字段的白名单。
在 Controller 中通过在 private
块中添加 model_params
方法来设定白名单。也即,允许放行的字段。
如在 products_controller.rb
中可以这样用:
class PeopleController < ActionController::Base
...
private
def product_params
params.require(:product).permit(:name, :category)
end
end
将允许 :id
为一个数组
params.permit(:id => [])
将允许整个 hash 作为参数 (不太确定)
params.require(:log_entry).permit!
params.permit(:name, {:emails => []}, :friends => [ :name, { :family => [ :name ], :hobbies => [] }])
放行三个属性:name
, emails
, friends
其中: emails
为数组;而 friends
则为带有特定属性的数组, name
与 hobbies
。