Devise не устанавливает current_user в сообщении Ajax, даже если в заголовок запроса включен правильный x-csrf-token

Использование: Rails 3.0.7 Devise 1.4.5 { {1}} jquery-rails 1.0.14

При отправке данных через ajax Devise не устанавливает current_donor.

Заголовок моего запроса выглядит следующим образом:

Host    localhost:3000
User-Agent  Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:6.0) Gecko/20100101     Firefox/6.0
Accept  */*
Accept-Language en-us,en;q=0.5
Accept-Encoding gzip, deflate
Accept-Charset  ISO-8859-1,utf-8;q=0.7,*;q=0.7
Connection  keep-alive
Content-Type    application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With    XMLHttpRequest
x-csrf-token    UFhqJrlOA1c1sAPeUTtV/ABcq5IeqkfA842ORcIWwks=

Внутри связанного действия контроллера, глядя на значения сеанса, я нахожу следующее:

{"_csrf_token"=>"UFhqJrlOA1c1sAPeUTtV/ABcq5IeqkfA842ORcIWwks=", "warden.user.donor.key"=>["Donor", [485], "$2a$10$OtkItrzVhN4Ussnqy5k1Au"], "session_id"=>"e6693e22275385a58e0915538791ea49"}

Это укажет мне, что csrf_token соответствует ожидаемому значению. Тем не менее, current_donor остается нулевым.

Я прочитал несколько сообщений по этому поводу, и действительно, в самом начале в моем макете не было метода csrf_meta_tag, и токен csrf не устанавливался.

Однако это уже не так, токен csrf устанавливается, но я все еще не получаю значение current_donor.

Когда я делаю запросы на получение ajax, current_donor устанавливается правильно.

Мы будем очень признательны за любой совет, где еще мне поискать.

С уважением, Том

7
задан TDH 13 September 2011 в 08:52
поделиться