【发布时间】:2013-02-27 09:59:14
【问题描述】:
是否可以将用户的 Cookie 或 Session 存储在 Controller 中并通过从 JS 或 Jquery 访问它来获取 cookie?
【问题讨论】:
标签: ruby-on-rails cookies session-cookies
是否可以将用户的 Cookie 或 Session 存储在 Controller 中并通过从 JS 或 Jquery 访问它来获取 cookie?
【问题讨论】:
标签: ruby-on-rails cookies session-cookies
Session 值在服务器上可用。
你可以像这样设置它们in your controller:
session[:user_name] = @user.name
如果您想稍后在 javascript 中访问该值,您可能希望在视图中执行以下操作:
<%= javascript_tag do %>
var userName = '<%= session[:user_name %>';
<% end %>
Cookies 由浏览器管理,因此访问方式不同。
在你的控制器中设置一个:
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 为您完成它要容易得多(如果您已经在使用该库) .
【讨论】:
end 之前在<%= javascript_tag do %> ... <%= end %> api.rubyonrails.org/classes/ActionView/Helpers/… 中没有等号