2013-08-19 1 views
1

Я использую ruby ​​on rails mvc, и я пытаюсь использовать вызов ajax для отправки некоторых данных на сервер. Я смущен тем, как аякс-запросы выдаются и обрабатываются в mvc.вызов ajax вызывает ошибку внутреннего сервера. Контроллер 500 рельсов

---------------- в моем файла JavaScript ------------------

});

Я использую respond_to блок, чтобы поймать этот запрос в моем контроллере:

---------------- в моем родном контроллере ------- -----------

respond_to do |format| 
    format.js { 
     render 'users/locations' 
    } 
    format.html {} 
end 

---------------- route.rb ------------- -----------

post 'users/locations' 
get 'users/locations' 
match "/locations", to: "users#locations" 

Я попытался извлечь данные таким образом:

---------------- в моих местах действие ------------------

dasdasdd // used as a breakpoint to test whether this part was executed. it wasn't. 
current_user.update_attribute :Latitude, params[:lat] 
current_user.update_attribute :Longitude, params[:lng] 

С помощью отладочной версии firefox консоль, я вижу ошибку 500 внутренних серверов. Это может объяснить, почему действие местоположений никогда не выполнялось. Но почему возникает ошибка 500? Может ли кто-нибудь осветить какой-то свет, как я могу ошибаться?

+0

Вы можете найти много информации в 'приложение/development.log 'а также в теле ответа' 500' ошибка об исключении. Мы просто догадываемся о том, что ваша проблема, не зная *, что * исключение Exception. – deefour

ответ

0

Поскольку DATATYPE вы указали в Ajax вызова JSON, попробуйте

format.json { 
     render 'users/locations' 
    } 

вместо format.js в контроллере

+0

Большое вам спасибо, но я решил тайну. Это проблема с модулем аутентификации, который я использую. Когда этот модуль выходит из строя в действии местоположений, метод не работает, что приводит к ошибке внутреннего сервера 500. По-видимому, пост ajax нуждается в заголовке csrf для целей аутентификации. http://stackoverflow.com/questions/7393871/devise-not-setting-current-user-on-ajax-post-even-though-correct-x-csrf-token-is – Feverbeaver

 Смежные вопросы

  • Нет связанных вопросов^_^