前提・実現したいこと
Rails6でツイートアプリを作っている者です。
ユーザー同士のフォロー機能を導入している時にハマってしまいました。
発生している問題・エラーメッセージ
Ruby
1NoMethodError in RelationshipsController#create 2undefined method `[]' for nil:NilClass
該当のソースコード
Ruby
1class RelationshipsController < ApplicationController 2 3 before_action :set_user 4 5 def create 6 @user = User.find(params[:relationship][:follow_id]) 7 following = current_user.follow(user) 8 if following.save 9 flash[:success] = 'ユーザーをフォローしました' 10 redirect_to user 11 else 12 flash.now[:alert] = 'ユーザーのフォローに失敗しました' 13 redirect_to user 14 end 15 end 16 17 def destroy 18 @user = User.find(params[:relationship][:follow_id]) 19 following = current_user.unfollow(user) 20 if following.destroy 21 flash[:success] = 'ユーザーのフォローを解除しました' 22 redirect_to user 23 else 24 flash.now[:alert] = 'ユーザーのフォロー解除に失敗しました' 25 redirect_to user 26 end 27 end 28 29 private 30 31 def set_user 32 @user = User.find(params[:relationship][:follow_id]) #←エラーが出る行 33 end 34end
エラーメッセージで検索してもそれらしいページはヒットせず、対応の仕方がわからず困っています。
ご教授お願いいたします。足りない情報などございましたらお手数ですがコメントでおしらせください。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/28 07:06
2019/10/28 07:26
2019/10/28 07:39
2019/10/28 07:41
2019/10/28 07:46
2019/10/29 16:38