前提・実現したいこと
現在、RubyonRails6 で作品を制作しています。
ログイン・ログアウト・投稿 などがあるものです。
その作業の中で、投稿後にリダイレクト機能を実装すると NoMethodError が出てきてしまします。
また、投稿内容は保存されています。
また、該当するhtml.erbのビューの他に <%= @goal.title %> の記述があると他のリダイレクトページでも同じエラーが発生してしまいます。
発生している問題・エラーメッセージ
NoMethodError in Goal#index Showing /Users/tateishiayu/Desktop/projectname 2/app/views/goal/index.html.erb where line #2 raised: undefined method `title' for nil:NilClass
該当のソースコード
<%= "idが「#{@id}」の画面です" %> <%= @goal.title %> ←ここ <%= @goal.created_at %>
よろしくお願いします。
###controllers
class GoalController < ApplicationController def form end def index @goal = Goal.find_by(id: params[:id]) end def create @goal = Goal.new(description: params[:description]) @goal.save @goal = Goal.new(title: params[:title]) @goal.save redirect_to("/users/:id") end end
###html.erb
<%= "idが「#{@id}」の画面です" %> <%= @goal.title %> <%= @goal.created_at %>