如何通过 Ajax 和 Javascript 加载 ruby 变量?

How do I load a ruby variable via Ajax and Javascript?

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

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