私は Rails 3 を学習し、Q&A アプリのチュートリアルに取り組むのは初めてです。特定の回答を質問に関連付ける際に、なぜこれを行うことができない (エラーが発生する) のか疑問に思っています。現在のユーザーに対して機能します...
class AnswersController < ApplicationController
before_filter :auth, only: [:create]
def create
@question = Question.find(params[:question_id])
**@answer = Answer.new(params[:answer])
@answer.question = @question
@answer.user = current_user**
if @answer.save
flash[:success] = 'Your answer has been posted!'
redirect_to @question
else
@question = Question.find(params[:question_id])
render 'questions/show'
end
end
end
チュートリアルでは、これが正しい方法であると述べています。
class AnswersController < ApplicationController
before_filter :auth, only: [:create]
def create
@question = Question.find(params[:question_id])
**@answer = @question.answers.build(params[:answer])**
@answer.user = current_user
if @answer.save
flash[:success] = 'Your answer has been posted!'
redirect_to @question
else
@question = Question.find(params[:question_id])
render 'questions/show'
end
end
end