2013-03-12 53 views

回答

11

會話值在服務器上可用。

您可以將它們像這樣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"); 

注意:你也可以用access the cookie using pure javascript(不是jQuery)解析document.cookie,但它是很多更容易讓jQuery爲你做(如果你已經在使用該庫)。

+0

當我這樣做,我得到$ .cookie不是一個函數。我應該包括除jQuery以外的任何Js嗎?我使用jquery.min.1.9.1 – 2013-03-12 05:18:49

+0

@Srikanth:嘗試使用它沒有路徑哈希(我已更新該行)在響應中。 – 2013-03-12 14:01:57

+0

另外,根據你已經加載的其他JS庫,你應該用「jQuery」替換你所有的「$」調用。 (有些庫 - 「原型」特別使用「$」命名空間。有關更多信息,請參閱http://stackoverflow.com/questions/6746352/replace-dollar-sign-with-jquery) – 2013-03-12 14:03:00

相關問題