Rails - 将cookie存储在控制器中并从Javascript,Jquery获取

时间:2013-03-12 01:49:10

标签: ruby-on-rails cookies session-cookies

是否可以在Controller中存储用户的Cookie或会话,并通过从JS或Jquery访问来获取cookie?

1 个答案:

答案 0 :(得分:12)

会话值在服务器上可用。

您可以像in your controller一样设置它们:

session[:user_name] = @user.name

如果您希望稍后在javascript中访问该值,您可能希望在视图中执行以下操作:

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

Cookie 由浏览器管理,因此访问方式不同。

在控制器中设置一个:

cookies[:user_name] = @user.name

(您还可以指定cookie using options的路径,到期日等。)

然后可以使用jQuery访问它:

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

注意:你也可以通过解析document.cookieaccess the cookie using pure javascript(而不是jQuery),但是 更容易让jQuery为你做(如果你已经使用该库)。