Запрос Ajax PUT приводит к выходу из системы в приложении Rails.Зачем? - PullRequest
4 голосов
/ 13 марта 2012

2 места в моем приложении Rails имеют вызовы ajax.(один для сортировки с помощью перетаскивания jQueryUI и один для обновления поста комментария).

Когда бы ни происходили эти вызовы, пользователь выходит из системы.Без видимой причины.Я использую omniauth-facebook и omniauth-google-oauth2 для аутентификации.

Как это можно исправить?

Вот как выглядит вызов ajax (coffeescript):

  $.ajax({
    type: 'put',
    data: {post_id: post.attr("id")},
    dataType: 'json',
    complete: -> post.children('.headpost').children('.buttons').removeClass('new_reply'),
    url: '/posts/update/'})

Спасибо!

1 Ответ

3 голосов
/ 14 марта 2012

Что я в итоге делал:

В заголовке макета application.html.erb под <%= csrf_meta_tags %>:

<%= javascript_tag "var AUTH_TOKEN = '#{form_authenticity_token}';" if protect_against_forgery?%>

В активах / what.js.coffee

$.ajax ({
            type: 'put',
            data: {authenticity_token: AUTH_TOKEN},
            dataType: 'json',
            complete: -> post.children('.headpost').children('.buttons').removeClass('new_reply'),
            url: '/posts/'+post.attr("id").slice(5) });
...