我创建了Ruby Session Variable
我需要在Javascript
让我们采取这种情况
session[:note]
= 'Some Notes'
这是在Ruby on Rails
现在我想访问它就像
var session_val = js-code,用于访问会话变量。
它不是js.erb我知道如果它是js.erb我们可以像
一样访问var sesion_val = "<%= session[:note] %>"
TIA
答案 0 :(得分:4)
您可以使用HTML5 data
方法从中访问变量。
假设您的JS
功能正在通过按钮进行调用。
因此,您可以将该按钮定义为:
<button class="btn" data-session="<%= session[:note]%>" onclick="seesionCheck()">Hello</button>
现在,在您的JS
函数中,您可以访问变量:
$(".btn").data('session');
答案 1 :(得分:1)
会话在服务器端。你的JS在客户端。没有办法直接从JS读取会话。有两种方法可以解决它:
渲染视图时对值进行种子设定。如你所说,你可以把它放在你的ERb中。但是,更好的方法是使用JSON:
var session_val = <%= session[:note].to_json %>
这避免了逃避(或缺乏)的可能问题。
通过AJAX询问服务器