前提・実現したいこと
Railsで合コンマッチングアプリを作っています。
今使っているモデルは、userモデルと、合コン情報のuser_infoモデルです。
合コン情報の編集機能を実装中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
NoMethodError in UserInfos#pre_page Showing /Users/yuta/projects/i-seki/app/views/user_infos/pre_page.html.erb where line #5 raised: undefined method `id' for nil:NilClass
該当のソースコード
ruby
1<div class="new_user_info btn"> 2<%= link_to '今の情報を入力しよう!', new_user_info_path %> 3</div> 4<div class="edit_user_info btn"> 5<%= link_to '情報を編集する!', edit_user_info_path(@user_info.id), method: :get %> 6</div> 7<div class="to_root btn"> 8<%= link_to 'トップページへ戻る', root_path %> 9</div>
ruby
1class UserInfosController < ApplicationController 2 before_action :authenticate_user!, only: [:new, :create, :edit, :update, :destroy] 3 4 def index 5 @user_infos = UserInfo.all.order("created_at DESC") 6 end 7 8 def new 9 @user_info = UserInfo.new 10 end 11 12 def create 13 @user_info = UserInfo.new(user_info_params) 14 if UserInfo.where(user_id: current_user.id).present? 15 redirect_to action: :false 16 else 17 @user_info.save 18 redirect_to root_path 19 end 20 end 21 22 def edit 23 @user_info = UserInfo.find(params[:id]) 24 end 25 26 def update 27 end 28 29 def destroy 30 end 31 32 def false 33 end 34 35 def pre_page 36 end 37 38 private 39 40 def user_info_params 41 params.require(:user_info).permit(:id, :image, :text, :people_num_id, :area_id).merge(user_id: current_user.id) 42 end 43 44end
試したこと
ターミナルでparamsの中身を調べたところ、:idが含まれていませんでした。
回答1件
あなたの回答
tips
プレビュー