我是整合react + ruby的新手,并且想知道是否有办法访问我存储的会话内容?
例如,在我的 public NavDrawerItem() {
}
public NavDrawerItem(boolean showNotify, String title) {
this.showNotify = showNotify;
this.title = title;
}
中,我正在存储app.rb
。我目前正在为我的UI使用reactjs,并希望在单击按钮时访问此return_url。有没有办法访问它?
我已经尝试过sessions[:return_url]=blah.com
,但这不起作用,因为我在.jsx文件中并且无法解释这个哈哈(值得一试) )
任何提示都将不胜感激!
答案 0 :(得分:1)
如果要在客户端读取与会话相关的非敏感数据,可以从服务器设置cookie并在客户端使用javascript读取它。
您可以使用Sinatra设置cookies
,详见此处:http://www.sinatrarb.com/contrib/cookies
您可以使用Javascript阅读Cookie,详见此处:Read a javascript cookie by name
另一种方法是在服务器端呈现javascript并将值存储在javascript变量中。我相信你已经尝试过了:
<%= return_url = sesssions[:return_url] %>`
但这只是设置一个Ruby局部变量,在客户端丢失,也许你想将return_url设置为你想要点击的按钮的href
?
但是,如果您需要javascript单击处理程序中的变量,只需在ERB视图中呈现一个javascript变量:
var returnUrl = "<%= sessions[:return_url] %>";
通过上述内容,您应该可以在按钮点击处理程序中访问javascript变量returnUrl
,前提是它位于相同或更高的词法范围内。