aoi-tatekawa
@aoi-tatekawa (aoi tatekawa)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

No route matches [GET] "/logout"の対処

Q&A

Closed

はじめに  

rails tutorialを参考にウェブアプリケーションをつくっていたのですが、ログイン、ログアウトのコードを書き終えてプレビューで確認してみると、ログウトでNo route matches [GET] "/logout" とエラーが表示されました。
解決方法がわかる方いましたら教えていただきたいです。
(AWS culoud9で開発しています)

環境

rails 6.0.3
ruby 2.6.3

発生しているエラー

Routing Error
No route matches [GET] "/logout"

該当するソースコード

routes.rb
Rails.application.routes.draw do
  root 'static_pages#home'
  get  '/help',      to: 'static_pages#help'
  get  '/contact',   to: 'static_pages#contact'
  get '/signup',     to: 'users#new'
  get '/login',      to: 'sessions#new'
  post   '/login',   to: 'sessions#create'
  delete '/logout',  to: 'sessions#destroy'
  resources :users
end
_header.html
   <header class="navbar navbar-fixed-top navbar-inverse">
      <div class="container">
        <%= link_to "GrassBasebaler", '#', id: "logo" %>
        <nav>
          <ul class="nav navbar-nav navbar-right">
            <li><%= link_to "ホーム",   root_path %></li>
       <% if logged_in? %>
          <li><%= link_to "チーム一覧", '#' %></li>
          <li class="dropdown">
            <a href="#" class="dropdown-toggle" data-toggle="dropdown">
              アカウント <b class="caret"></b>
            </a>
            <ul class="dropdown-menu">
              <li><%= link_to "マイページ", current_user %></li>
              <li><%= link_to "アカウント設定", '#' %></li>
              <li class="divider"></li>
              <li>
              <%= link_to "ログアウト", logout_path, method: :delete %>
              </li>
            </ul>
          </li>
        <% else %>
            <li><%= link_to "ログイン", login_path %></li>        
        <% end %>

            </ul>
        </nav>
      </div>
    </header>

Gemfile

source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }

gem 'rails',      '6.0.3'
gem 'bcrypt',     '3.1.13'
gem 'jquery-rails'
gem 'bootstrap-sass', '3.4.1'
gem 'puma',       '4.3.6'
gem 'sass-rails', '5.1.0'
gem 'webpacker',  '4.0.7'
gem 'turbolinks', '5.2.0'
gem 'jbuilder',   '2.9.1'
gem 'bootsnap',   '1.4.5', require: false

application.js
require("@rails/ujs").start()
require("turbolinks").start()
require("@rails/activestorage").start()
require("channels")
require("jquery")
import "bootstrap"
//= require jquery
//= require jquery_ujs

environment.js
const { environment } = require('@rails/webpacker')

const webpack = require('webpack')
environment.plugins.prepend('Provide',
    new webpack.ProvidePlugin({
        $: 'jquery/src/jquery',
        jQuery: 'jquery/src/jquery'
    })
)

module.exports = environment

おわりに

調べた結果、javascriptが正常に動いていないとのことでした。

初歩的な質問で申し訳ありませんがわかる方おられましたら、教えていただきたいです。
また、情報の不足部分があればすぐに載せますのでコメントお願いします。

0

1Answer

Your answer might help someone💌