【问题标题】:How do I load a ruby variable via Ajax and Javascript?如何通过 Ajax 和 Javascript 加载 ruby​​ 变量?
【发布时间】:2018-01-17 19:20:55
【问题描述】:

我正在一个使用 Rails 的应用程序中工作。我需要能够为每个名为语言的用户设置一个变量。目前我通过我在控制器中设置的 ruby​​ 会话变量来执行此操作,但是当用户关闭他们的浏览器时,我会丢失他们的语言变量,他们每次登录时都必须重新设置它。我需要以某种方式将此数据附加给用户。我必须在前端使用 Ruby 和 Javascript,我只能通过 Ruby 请求数据。

<script type="text/javascript">
var language=getCookie(“language”);
  //***HELP use ajax to set user language preference in ruby***

function getCookie(name) {
  var value = "; " + document.cookie;
  var parts = value.split("; " + name + "=");
  if (parts.length == 2) return parts.pop().split(";").shift();
}
</script>
 
<% use language variable here to request data in ruby %>

【问题讨论】:

  • 在设置cookie的时候设置过期日期?
  • 我的 cookie 的过期时间很长。我没有显示该代码。我的问题是如何将数据从用户的浏览器获取到 ruby​​ 后端并仍然与用户相关联。我需要用 ajax 和 javascript 设置一个 ruby​​ 变量。

标签: javascript ruby-on-rails ruby watson-explorer


【解决方案1】:

在 ruby​​ 中,默认情况下,cookie 只会持续到会话关闭。您可以通过给他们一个expiration date 来覆盖它。这意味着即使用户关闭浏览器,它们也会持续存在,直到达到该到期日期,只需将其设置为任意高,您就可以开始使用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-26
    • 1970-01-01
    • 2013-11-24
    • 1970-01-01
    • 1970-01-01
    • 2015-07-06
    • 2023-02-13
    • 1970-01-01
    相关资源
    最近更新 更多