前提・実現したいこと
現在railsの学習にてuser,greenhouse,reserverモデルを作成しアソシエーションを行なっている最中です。
最初にuserとreserverのモデルの紐付けを行ったのですがその作業は恐らくうまく行っていると思います。
次にuserとgreenhouseのモデルの紐付けを行おうと思ったのですが、greenhouseの方に外部キーを持たせずモデルを作成してしまったため後から外部キーを持たせました。
しかしrails sで起動をかけると最初のページからログインのボタンを押下するタイトルのようなエラーが発生します。
外部キーの設定をする前までは今まで通りログインページに入ることができていました。
以下のサイトを参考に外部キーを後から持たせました。
https://qiita.com/kurawo___D/items/e3694f7a870a1cc4738e
うまく内容を話せれなくて申し訳ありません。
発生している問題・エラーメッセージ
ActiveRecord::RecordNotFound in SessionsController#new Couldn't find User with 'id'=1
該当のソースコード
rails
1class ApplicationController < ActionController::Base 2 helper_method :current_user 3 4 def login? 5 if current_user.nil? 6 redirect_to login_path, alert: "ログインしてください" 7 end 8 end 9 10 def already_login? 11 unless current_user.nil? 12 redirect_to user_path, notice: "既にログイン済みです" 13 end 14 end 15 16 def current_user 17 if session[:user_id] 18 current_user ||= User.find(session[:user_id])#この箇所がエラー画面で表示されています。 19 end 20 end 21end 22
試したこと
調べた所ログインページに遷移する際にIDをうまく渡せていないと思いましたので
users/show.html.erbの記述を以下の様に変更しました。
<%= link_to "ルーム予約へ", reservers_path %>
↓
<%= link_to "ルーム予約へ", reservers_path(user.id) %>
しかし相変わらずエラーは解決しませんでした。
どなたかお力をお貸し下さい。
補足情報(FW/ツールのバージョンなど)
mac os Big Surバージョン11.2.3
aws cloud9
rails 6.1
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/10 06:49