1

Rails を使用するアプリケーションで作業しています。language と呼ばれるユーザーごとに変数を設定できるようにする必要があります。現在、コントローラーで設定した 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 に答える