0

この記事のタイトルのようなサンプルコードを見つけて質問があります。なぜこのように書かれているのparams[:member][:user]ですか?

友人にアドバイスをもらい、 とは の[:member]テーブル名[:user]、 のテーブルに含まれる列名を意味すると説明してくれましたmembermembersしかし、 table は常に複数形であり、示したように table を検索しようとしていることは明らかであるため、わかりません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]memberモデル データは、この例のように独自のハッシュになるため、これは Rails によって送信されたフォームの典型的な動作です。

于 2013-09-27T03:09:44.103 に答える