1

私はRubyonRailsのセッションメソッドを使用しているので、次のようなsession [:user_params]ハッシュがあります。

password_confirmation: "test"
password: test
email: test@test.ij

ビューファイルの構文session[:user_params]を使用するだけでアクセスできます。

'email'パラメータのみにアクセスしたいのですが、session [:user_params] [:email]を使用しようとすると、常に空の値が返されます。この値にアクセスする方法は?

4

2 に答える 2

2

試してみてくださいsession[:user_params]['email']。Railsがセッションハッシュ全体をHashWithIndifferentAccessとしてシリアライズ/デシリアライズするかどうかはわかりません。

于 2010-12-12T19:06:32.080 に答える
1

:user_params に保存するハッシュをどのように設定しているのかわかりませんが、これは私が行う方法であり、うまくいくようです:

puts "  email: '#{session[:user_params][:email]}'"

session[:user_params] ||= {}
session[:user_params][:password_confirmation] = "test"
session[:user_params][:password] = "test"
session[:user_params][:email] = "test@test.ij"

このコードをコントローラー アクション内に初めて配置すると、電子メールの '' が表示されます。2 回目は、電子メールの「test@test.ij」が表示されます。それが役立つことを願っています。

于 2010-12-12T15:22:14.337 に答える