環境
macOS 10.15.4
Ruby 2.5
Rails 5.2
前提・実現したいこと
ログアウトを実行後にログアウト状態にしてトップ(localhost::3000)に移動したい
発生している問題・エラーメッセージ
ログアウトをクリックしてその後トップ(localhost::3000)に移動する処理を実行したいのですが、URLはhttp://localhost:3000/users/sign_outとなりトップに移動することができません。ちなみにusersの直下にsign_outファイルがないのでなぜそのようになってしまったのかわかりません...
こちらのエラーの内容があまり理解できなかったので調べながら下記の内容を試しました。
ソースコード
app/views/layouts/application.html.erb
<!DOCTYPE html> <html> <head> <title>Myapp</title> <%= csrf_meta_tags %> <%= csp_meta_tag %> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.9.0/css/all.min.css" integrity="sha256-UzFD2WYH2U1dQpKDjjZK72VtPeWP50NoJjd26rnAdUI=" crossorigin="anonymous" /> <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %> </head> <body> <% if flash[:notice] %> <div class="notification is-info"> <p class="notice"><%= notice %></p> </div> <% end %> <% if flash[:alert] %> <div class="notification is-danger"> <p class="alert"><%= alert %></p> </div> <% end %> <nav class="navbar is-warning"> <div class="navbar-brand"> <%= link_to root_path, class: "navbar-item" do %> <h1 class="title is-4" style="font-family: cursive;">recipegram</h1> <% end %> <div class="navbar-burger burger" data-target="navbarExampleTransparentExample"> <span></span> <span></span> <span></span> </div> </div> <% if user_signed_in? %> <div id="navbarExampleTransparentExample" class="navbar-menu"> <div class="navbar-item"> <%= link_to "レシピ一覧", recipes_path, class: "navbar-item button is-warning is-light" %> </div> <div class="navbar-item"> <%= link_to "新規投稿", new_recipe_path, class: "navbar-item button is-warning is-light" %> </div> <div class="navbar-end"> <div class="navbar-item"> <div class="field is-grouped"> <p class="control"> <%= link_to "レシピグラマー一覧", users_path, class: "button is-warning is-light" %> </p> <p class="control"> <%= link_to "ログアウト", destroy_user_session_path, method: :delete, class: "button is-warning is-light" %> </p> </div> </div> </div> </div> <% else %> <div id="navbarExampleTransparentExample" class="navbar-menu"> <div class="navbar-item"> <%= link_to "レシピ一覧", recipes_path, class: "navbar-item button is-warning is-light" %> </div> <div class="navbar-item"> <%= link_to "レシピグラマー一覧", users_path, class: "navbar-item button is-warning is-light" %> </div> <div class="navbar-end"> <div class="navbar-item"> <div class="field is-grouped"> <p class="control"> <%= link_to "ログイン", new_user_session_path, class: "button is-warning is-light" %> </p> <p class="control"> <%= link_to "新規登録", new_user_registration_path, class: "button is-warning is-light" %> </p> </div> </div> </div> </div> <% end %> </nav> <%= yield %> </body> </html>
routes.rb
Rails.application.routes.draw do devise_for :users root to: "home#index" resources :recipes resources :users end
users_controller.rb
class UsersController < ApplicationController def index @users = User.all end def show @user = User.find(params[:id]) end def edit @user = User.find(params[:id]) end def update @user = User.find(params[:id]) @user.update(user_params) redirect_to user_path(@user) end private def user_params params.require(:user).permit(:username, :email, :profile, :profile_image) end end
試したこと
######スペルミスの確認
スペルミスの確認を行いましたが確認はされずログアウト実行前は正常にブラウザに表示されます。
######headタグの確認
headタグの確認を行ったところjavascriptのコードの記述ミスもありませんでした。
######routes.rbの確認
こちらも問題ありませんでした。
以上の内容からもし解決方法が分かる方でご教授して頂けないでしょうか?
回答1件
あなたの回答
tips
プレビュー