我找到了一个示例代码,例如这篇文章的标题,并有一个问题。
为什么这样写成params[:member][:user]
?
我得到了我朋友的建议,他解释说[:member]
表示表名,[:user]
表示member
表中包含的列名。
但是我没有得到它,因为表格总是复数的,显然他或她正试图在members
表中搜索Member.find
。
答案 0 :(得分:4)
它写为params[:member][:user]
,因为params是嵌套的哈希,例如:
params = {"utf8"=>"✓",
"authenticity_token"=>"uAbvJ/LE1f8eDcANe+TVip5nsWfP/xJxxoGmsQyKFnU=",
"access_token"=>"",
"member"=> {"name"=>"foobar",
"email"=>"foo@bar.com",
"user"=>"jimmy",
"session"=>"2013-01-17 13:15:00 UTC"},
"commit"=>"Submit",
"locale"=>"es"}
这意味着要获得member
内部用户的价值,您需要编写类似params[:member][:user]
的内容。这是Rails提交的表单的典型行为,因为模型数据将在其自己的哈希中,因为member
在此示例中。