1

我正在使用 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 %>

4

1 回答 1

0

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

于 2017-08-09T19:01:18.863 回答