Parameters & Strong Parameters
Parameters
permit
require & required
extract!
permit!
select!
permitted?
permitted=
[]Strong Parameters
最后更新于
permit
require & required
extract!
permit!
select!
permitted?
permitted=
[]最后更新于
delete, dup
each & each_pair
fetch
to_h
slice
transform_values
converted_arraysrequire 'action_controller/parameters'
params = ActionController::Parameters.new({
person: {
name: 'Francesco',
age: 22,
role: 'admin'
}
})
# require(key) 和 permit(*filters) 方法
permitted = params.require(:person).permit(:name, :age)
permitted # => {"name"=>"Francesco", "age"=>22}
permitted.class # => ActionController::Parameters
# permitted? 方法
permitted.permitted? # => true
Person.first.update!(permitted)
# => #<Person id: 1, name: "Francesco", age: 22, role: "user">@user.update_attributes(params[:user].permit!)config.always_permitted_parameters = %w( controller action format )params
params=params == request.parameters
# => trueProcessing by PostsController#create as HTML
Parameters: {"utf8"=>"✓",
"authenticity_token"=>"kJttlgy9ptyuFS5TXrE95HFwKdhf7p74yuFZl73Lvxg=",
"post"=>{"title"=>"hello world"},
"commit"=>"Create Post"}
params
=> {"utf8"=>"✓",
"authenticity_token"=>"kJttlgy9ptyuFS5TXrE95HFwKdhf7p74yuFZl73Lvxg=",
"post"=>{"title"=>"hello world"},
"commit"=>"Create Post",
"action"=>"create",
"controller"=>"posts"}