Как я могу прочитать куки в рельсах, которые были установлены jquery - PullRequest
4 голосов
/ 30 марта 2012

Я устанавливаю cookie в jquery следующим образом (работает нормально, и файл cookie генерируется):

$(document).ready(function() {
    var consp = $("input[home]").attr("home");
    $("input[name='commit']").click(function() {
        $.cookie('home', consp);
    });
});

В моем контроллере я пытаюсь получить значение куки. Поэтому я использую стандартное чтение файлов cookie, как это

def some_method
    @value = cookies[:home]
end

Но когда я вывожу значение @value, ничего не возвращается. Это происходит только в том случае, если я установил cookie с помощью jquery, однако не произойдет, если я установлю cookie напрямую через rails (без jquery). Есть мысли о том, почему это происходит? спасибо

1 Ответ

11 голосов
/ 30 марта 2012

Хорошо, разобрался с этим:

Я создавал этот файл cookie, когда отправлял форму, и из-за архитектуры mvc rails отправлял в действие create и перенаправлял обратно на оригинальную страницу после успешного завершения.перенаправления.Поэтому мне нужно, чтобы этот файл cookie действовал на всех страницах, поэтому jquery.cookie plugin .

Решение состояло в том, чтобы передать параметр пути в микс, подобный этому

$.cookie('the_cookie', 'the_value', { expires: 7, path: '/' });

Это тогда позволяет куки-файлам считываться со всех маршрутов страницы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...