0

こんにちは、アジャイル Web 開発の電子ブックをフォローしていますが、ログアウト アクションを有効にできないようです。

ここに関連する部分があります(TABキーが機能しないため、コードにフォーマットできませんでした)

rake routes

logout DELETE /logout(.:format) sessions#destroy

ルートファイルから

controller :sessions do
    get 'login' => :new
    post 'login' => :create
    delete 'logout' => :destroy
  end

私のコントローラー

def destroy
session[:user_id] = user.id
redirect_to store_url , notice: "Logged out"
end

と私の見解(関連部分) <%= button_to 'Logout', logout_path, method: :delete %>

エラー メッセージは No route matches [GET] "/logout" です。

delete メソッドを使用する必要があることはわかっていますが、何も役に立たないようです

4

2 に答える 2

0

ルートにを追加する必要がある場合がありmatchます。参照できる本がありません。

これをあなたの上に置いてくださいcontroller :sessions ...

match 'logout' => 'sessions#destroy', :as => :logout

上記の行を入力しなかった場合、ログアウトパスはでsessions_logout_pathはなく、である必要がありlogout_pathます。

参照: http: //guides.rubyonrails.org/routing.html#naming-routes

于 2012-11-18T04:04:15.940 に答える
0

match '/logout' => 'sessions#destroy', :via => :delete

また

controller :sessions do
  member do
     delete :destroy, :as => :logout
  end
end
于 2012-11-18T13:02:53.623 に答える