2.Action Controller Parameters中的params是方法还是对象?

params = ActionController::Parameters.new({
  person: {
    name: "Francesco",
    age:  22,
    role: "admin"
  }
})

permitted = params.require(:person).permit(:name, :age)
permitted            # => <ActionController::Parameters {"name"=>"Francesco", "age"=>22} permitted: true>
permitted.permitted? # => true

Person.first.update!(permitted)
# => #<Person id: 1, name: "Francesco", age: 22, role: "user">

您可以获取ActionController::Parameters的值,使用:key或者”key”。

params = ActionController::Parameters.new(key: "value")
params[:key]  # => "value"
params["key"] # => "value"

所以params是对象,可以是数组对象,也可以是散列对象,再或者集合。

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/ruby/rubyonrails/2044.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注