前提・実現したいこと
ユーザーの情報を変更した後に、ユーザー情報を変更した旨のビューを挟んでマイページに飛ばしたいのですがうまくいきません
発生している問題・エラーメッセージ
ActionController::UrlGenerationError in Users#update Showing /Users/kimototakashinari/projects/fleamarket_sample_80g/app/views/users/update.html.haml where line #2 raised: No route matches {:action=>"show", :controller=>"users", :id=>nil}, missing required keys: [:id]
該当のソースコード
controller.rb
ruby
1class UsersController < ApplicationController 2 3 def show 4 user = User.find(params[:id]) 5 end 6 7 def edit 8 @user = User.find(user[:id]) 9 end 10 11 def update 12 user = User.find(params[:id]) 13 user.update(user_params) 14 end 15 16 def destroy 17 user = User.find(params[:id]) 18 end 19 20 private 21 def user_params 22 params.require(:user).permit(:email, :password) 23 end 24end 25
routes.rb
ruby
1Rails.application.routes.draw do 2 devise_for :users, controllers: { 3 registrations: 'users/registrations', 4 } 5 devise_scope :user do 6 get 'profiles', to: 'users/registrations#new_profile' 7 post 'profiles', to: 'users/registrations#create_profile' 8 get 'profiles', to: 'users/registrations#edit_profile' 9 end 10 root 'items#index' 11 resources :users, only: [:show, :edit, :update, :destroy] 12end
試したこと
ルートはちゃんとあるんだと思いますが、idが見つからないということでidを見つけてくる様な記述をしましたが変わらずです。
非常に申し訳ないのですが教えていただければ幸いです
補足情報(FW/ツールのバージョンなど)
rails 6_0_3
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/13 14:02
2020/08/13 21:55