对标题中的混乱表示歉意,但这正是它听起来的样子。
我有一个由designe生成的路由作为destroy_administrator_会话,但是每次我链接到它时,它都会带我到一个不存在的模型的show方法。
模型名是administrator,下面是路径

destroy_administrator_session DELETE /administrators/sign_out(.:format)        devise/sessions#destroy

我的哈姆打电话来
= link_to('signout', destroy_administrator_session_path)
= link_to ('Logout', destroy_administrator_session_path), :method=>'delete'
= link_to 'Sign out', destroy_administrator_session_path, :method=>'delete'

每一种方法的编写方式略有不同,但它们都将应用程序带回了我尚未实现的管理员的show方法。从上面的设计路线可以看出,表演从来没有被触及过。
最后是我的routes.rb文件
  get "/administrators/sign_out" => "devise/sessions#destroy", :as => :destroy_administrator_session
  devise_for :administrators
  resources :administrators

我对可能发生的事情有些预感。
路线定义不正确
我需要详细说明实际设计路线上发生了什么,需要更多的配置
我的资源冲突,但删除它们什么也做不了。
感谢任何帮助

最佳答案

试试这个

devise_for :administrators do
  delete "/administrators/sign_out" => "devise/sessions#destroy", :as => :destroy_administrator_session
end

10-08 11:07