4

ユーザーの Cookie またはセッションをコントローラーに保存し、JS または Jquery からアクセスして Cookie を取得することは可能ですか?

4

1 に答える 1

14

セッション値はサーバーで利用できます。

コントローラーで次のように設定できます。

session[:user_name] = @user.name

後で JavaScript でその値にアクセスしたい場合は、おそらくビューで次のようなことをしたいと思うでしょう:

<%= javascript_tag do %>
  var userName = '<%= session[:user_name %>';
<% end %>

Cookieはブラウザによって管理されるため、アクセス方法が異なります。

コントローラーで設定するには:

cookies[:user_name] = @user.name

( options を使用して、Cookieのパス、有効期限などを指定することもできます。)

その後、jQuery を使用してアクセスできます。

var userName = jQuery.cookie("user_name");

注: を解析することにより、(jQuery ではなく)純粋な JavaScript を使用して Cookie にアクセスすることもできますが、jQuery にアクセスさせる方document.cookieはるかに簡単です (既にそのライブラリを使用している場合)。

于 2013-03-12T03:39:32.783 に答える