タイトルの混乱をお詫びしますが、まさにそのように聞こえます。devise によって destroy_administrator_session として生成されたルートがありますが、それにリンクするたびに、存在しないそのモデルの show メソッドに移動します。
モデル名はアドミニストレーターでルートはこちら
destroy_administrator_session DELETE /administrators/sign_out(.:format) devise/sessions#destroy
マイ Haml コール
= 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 メソッドにアプリケーションを戻します。上記のデバイス ルートからわかるように、show はまったく変更されません。
最後に、routes.rb ファイルです。
get "/administrators/sign_out" => "devise/sessions#destroy", :as => :destroy_administrator_session
devise_for :administrators
resources :administrators
何が起こっているのか、いくつかの予感があります。
- ルートが正しく定義されていません
- 実際のデバイスルートで何が起こるかを指定する必要があり、さらに構成が必要です
- リソースが競合していますが、それらを削除しても何も起こりません。
どんな助けでも大歓迎