是否可以在Controller中存储用户的Cookie或会话,并通过从JS或Jquery访问来获取cookie?
答案 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.cookie
来access the cookie using pure javascript(而不是jQuery),但是 更容易让jQuery为你做(如果你已经使用该库)。