Получено ПРЕДУПРЕЖДЕНИЕ. Невозможно проверить подлинность токена CSRF после обновления с Rails 3.0.2 до 3.1 - PullRequest
2 голосов
/ 20 сентября 2011

Некоторое время искали, общее решение - вставить <% = csrf_meta_tags%> в заголовок макета.Тем не менее, это не имеет значения.Установка jquery-rails тоже не помогает

Rails 3.1.0 Ruby 1.9.2 Mongoid 2.2.0

Еще одна странная вещь после перехода на 3.1 состоит в том, что когда я проверяю маршруты по рейковым маршрутам,есть некоторые URL-адреса, не указанные помощниками URL-адресов, например, GET, PUT и DELETE имеют одинаковый URL-адрес, но по URL-адресу, определенному помощником, может быть достигнут только первый кот.

edit_message GET /: permalink / messages /: id /edit (.: format) {: action => «edit»,: controller => «messages»}

message GET /: постоянная ссылка / messages /: id (.: format) {: action => "show ",: controller =>" messages "}

         PUT    /:permalink/messages/:id(.:format)  {:action=>"update", :controller=>"messages"}

         DELETE /:permalink/messages/:id(.:format) {:action=>"destroy", :controller=>"messages"}

1 Ответ

1 голос
/ 17 ноября 2011

Первая половина вопроса была решена путем добавления токена в каждый запрос ajax.Поскольку начиная с Rails 3.0.4 (если я помню), Rails требует, чтобы каждый ajax-запрос переносился с токеном подлинности, если вы поместили protect_from_forgery в свой контроллер приложения.

...