Ruby JSX 文件中的 Sinatra 会话?
Ruby Sinatra Sessions in a JSX file?
我是集成 React + 的新手 ruby,想知道是否有办法访问我存储的会话内容?
例如,在我的 app.rb
中,我正在存储 sessions[:return_url]=blah.com
。我目前正在为我的 UI 使用 reactjs,并希望在单击按钮时访问此 return_url。有没有办法访问它?
我试过 <%= return_url = sesssions[:return_url] %>
但这不起作用,因为我在 .jsx 文件中,它无法解释这个哈哈(值得一试)
如有任何提示,我们将不胜感激!
如果你想在客户端读取会话相关的非敏感数据,你可以从服务器设置一个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
,前提是它在相同或更高的词法范围内。
我是集成 React + 的新手 ruby,想知道是否有办法访问我存储的会话内容?
例如,在我的 app.rb
中,我正在存储 sessions[:return_url]=blah.com
。我目前正在为我的 UI 使用 reactjs,并希望在单击按钮时访问此 return_url。有没有办法访问它?
我试过 <%= return_url = sesssions[:return_url] %>
但这不起作用,因为我在 .jsx 文件中,它无法解释这个哈哈(值得一试)
如有任何提示,我们将不胜感激!
如果你想在客户端读取会话相关的非敏感数据,你可以从服务器设置一个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
,前提是它在相同或更高的词法范围内。