0

我找到了一个类似这篇文章标题的示例代码并且有一个问题。为什么会这样写params[:member][:user]

我从我的朋友那里得到了建议,他解释说这[:member]意味着表名和[:user]表中包含的列名member。但我不明白,因为 table 总是复数,很明显他或她正试图在 table 中搜索,members如图所示Member.find

4

1 回答 1

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在这个例子中一样。

于 2013-09-27T03:09:44.103 回答