わからないこと
以下では自分が答えたAnswer メソッドを編集し、アップデートしようとしたらエラーが出ます。
Answer メソッドのupdate アクションは以下の通りです。
def update @post = Post.find_by(id: params[:id]) @answer = Answer.find_by(id: params[:id]) @answer.title = params[:title] @answer.content = params[:content] if @answer.save flash[:notice] = "回答を編集しました" redirect_to("/posts/#{params[:post_id]}") end end
<h1>回答を編集する</h1> <%= form_tag("/answers/#{@post.id}/update") do %>
Answer_edit から form_tagでanswer をupdate しようとしているのですがうまくいきません。エラーは以下の通りです。
NoMethodError in AnswersController#update undefined method `title=' for nil:NilClass @post = Post.find_by(id: params[:id]) @answer = Answer.find_by(id: params[:id]) @answer.title = params[:title] @answer.content = params[:content] if @answer.save flash[:notice] = "回答を編集しました"
ちなみにルートは以下の通りです。 answer create はできるのですが answer update だけがうまくできません。どうかお力をお貸しください!
post "answers/:post_id/update" => 'answers#update' post "answers/:post_id/create" => 'answers#create'
answerはそれぞれ post_id を持っています
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。