Как мне загрузить переменную ruby через Ajax и 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 %>
1 ответ
В ruby по умолчанию куки сохраняются только до закрытия сессии. Вы можете изменить это, просто указав дату окончания срока действия. Это означает, что они будут работать, даже если пользователь закроет браузер, пока не истечет срок годности. Просто установите его произвольно высоким, и все будет в порядке.