Rails中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/experience/rubye/2044.html

(1)
上一篇 2020年9月2日 00:23
下一篇 2020年9月2日 01:15

相关推荐

  • Ruby语言的三种运行方法

    1.ruby命令式 -e命令行选项使解释器执行一行指定的Ruby代码。 2.ruby文件式 helloruby.rb代码清单: 启动控制台,使用cd命令,移动到存放helloruby.rb的文件夹中。执行以下命令: 执行后,会输出显示“Hello,Ruby.”。 3.irb交互式 irb全称为interactive R…

    Ruby经验 2020年6月5日
    07960
  • MatZ谈Ruby中的块(Block)和闭包(Closure)

    本文为采访稿。 带块的循环 Bill Venners:Ruby支持块和闭包。什么是块和闭包,如何使用? 松本行弘(Yukihiro Matsumoto):块基本上是无名的函数(nameless functions)。您可能对lambda很熟悉,来自其他语言,例如Lisp或Python。基本上,您可以将无名函数传递给另一…

    Ruby经验 2020年7月30日
    01.1K0
  • Ruby字符串‘’与“”的区别

    创建字符串对象除了可以使用“”(双引号)外,也可以使用‘’(单引号)。我们试着把之前程序的双引号换成单引号,看一下效果。 程序原封不动地输出单引号里面的内容。也就是说,像\n这样的特殊字符不经过转义,程序会原封不动地直接输出。但也有例外,例如在字符串里想嵌入\与单引号时,还是需要在之前加上\。

    Ruby经验 2020年12月9日
    09590

发表评论

登录后才能评论