mmfkzwtty0505
@mmfkzwtty0505

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

ログアウトができない

解決したいこと

Ruby on RailsでECサイトを作成しています。
deviseを導入後、ログアウトできるリンクを作成しましたが、Routing Errorが発生しました。いろいろ試してみましたが、原因がわからず、困っています。
どなたかわかる方、教えていただけると幸いです。

発生している問題・エラー

Routing Error
No route matches [GET] "/customers/sign_out"

該当するソースコード

routes.rb
Rails.application.routes.draw do
  devise_for :admin, skip: [:registrations, :passwords] ,controllers: {
    sessions: "admin/sessions"
  }

  devise_for :customers,skip: [:passwords], controllers: {
    registrations: "public/registrations",
    sessions: 'public/sessions'
  }
  
  namespace :admin do
    root to: "homes#top"
    resources :customers,     only: [:index, :show, :edit, :update]
    resources :post_comments, only: [:index, :destroy]
  end


  scope module: 'public' do
    root to: "homes#top"
    get "/about" => "homes#about"
    resources :recipes,         only: [:index, :new, :create, :show, :edit, :update] do
      resource :favorites,      only: [:create, :destroy]
      resources :post_comments, only: [:new, :create, :destroy]
    end
    resource :customer, only: [:show, :edit, :update] do
      get 'likes',         on: :collection
      get 'leave',        on: :collection
      patch 'withdwaral', on: :collection
    end
  end

  # Define your application routes per the DSL in https://guides.rubyonrails.org/routing.html

  # Defines the root path route ("/")
  # root "articles#index"
end
<li class="nav-item ml-3" style="border-style:solid; border-width:2px; border-color:white;" >
   <a class="fa-solid fa-right-from-bracket pt-2 px-2 nav-link" style="color: #000000;" href="/customers/sign_out"></a>
</li>
0

1Answer

コマンドラインでbin/rails routesを実行してみてください。そうすると実際に使えるrouteの一覧が出てきます。その中からlogoutするときのrouteを見つけ出すか、あるいはroutes.rbの設定を変えていけば良いと思います。

0Like

Comments

  1. @mmfkzwtty0505

    Questioner

    [DELETE]で記述しているのに、[GET]になってしまうのですが、この場合はどのようにすればよろしいのでしょうか。

Your answer might help someone💌