Блок respond_to
не перенаправляет обратно в представление '/ dashboard' (url остается в 'gcal_user.19') и приводит к ошибке «406 Not Acceptable», когда я нажимаю на ссылке удаления в представлении панели. Пробовал отладки, поиск в Google, переполнение стека, но все усилия были бесплодны.Respond_to не перенаправляет, дает 406 Неприемлемая ошибка
Использование Rails 3.2.13, Ruby 1.9.3
Приложение включает в JQuery и jquery_ujs (ненавязчивый JS) в application.js
Dashboard View (Haml):
%div.control-group.controls
= link_to "Delete Gcal User", @gcal_user, method: :delete
GcalUser контроллер:
def destroy
@gcal_user = current_user.gcal_user
# -- commented out for debugging --
# if @gcal_user.delete
# flash[:notice] = "#{@gcal_user.username} deleted"
# end
respond_to do |format|
format.html { redirect_to user_root_path }
end
end
конфигурации/routes.rb
get "home/index"
root :to => 'home#index' #, as: '/'
devise_for :users
resource :gcal_user
match "dashboard" => 'home#dashboard', as: :user_root
Маршрут:
DELETE /gcal_user(.:format) gcal_users#destroy
При нажатии на ссылку Удалить правильно достигает метода destroy
. Проблема возникает с блоком respond_to
.
Другие образцы кода, похоже, работают ... Я не могу понять, что мне не хватает. Есть идеи?
Во-вторых, ошибка 406 из-за несоответствия типа запроса, я считаю, как проверить тип генерируемого запроса и ответа? Если есть несоответствие, где в коде я смогу изменить тип запроса?
, в котором задан маршрут u, link_to «Удалить пользователя Gcal» или user_root_path. Проверьте, идет ли запрос уничтожить действие после нажатия ссылки «Удалить Gcal User»? –
Просьба к действию уничтожить, как ожидалось. Я сузил проблему до блока 'response_to' и' format.html {redirect_to user_root_path} '. – HM1
имеют u проверенный маршрут user_root. Вам не нужно передавать идентификатор объекта пользователя с этим маршрутом. –