この記事のタイトルのようなサンプルコードを見つけて質問があります。なぜこのように書かれているのparams[:member][:user]
ですか?
友人にアドバイスをもらい、 とは の[:member]
テーブル名[:user]
、 のテーブルに含まれる列名を意味すると説明してくれましたmember
。members
しかし、 table は常に複数形であり、示したように table を検索しようとしていることは明らかであるため、わかりませんMember.find
。
この記事のタイトルのようなサンプルコードを見つけて質問があります。なぜこのように書かれているのparams[:member][:user]
ですか?
友人にアドバイスをもらい、 とは の[:member]
テーブル名[:user]
、 のテーブルに含まれる列名を意味すると説明してくれましたmember
。members
しかし、 table は常に複数形であり、示したように table を検索しようとしていることは明らかであるため、わかりませんMember.find
。
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 によって送信されたフォームの典型的な動作です。