我的respond_to
块没有重定向回'/ dashboard'视图(url停留在'gcal_user.19'),并导致“406 Not Acceptable”错误在仪表板视图中的删除链接上。尝试调试,谷歌搜索,堆栈溢出,但一切努力没有成果。Respond_to没有重定向,给出406不可接受的错误
使用Rails 3.2.13,红宝石1.9.3
该应用程序包括的application.js
仪表板视图(Haml的)jQuery和jquery_ujs(不显眼的js):
%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用户”链接后销毁操作? –
请求按照预期进行销毁操作,我将问题缩小到'respond_to'块和'format.html {redirect_to user_root_path}'行 – HM1
已经检查了user_root路由,不需要传递用户对象ID这条路线 –