私は通常の足場からのほとんどのコードを使用しています。唯一の変更は、質問に対して4つの回答オブジェクトを作成する4.timesブロックです。その理由は、ビューに対応する入力フィールドがあるためです。ここで、検証が失敗した場合、new.html.erbが再度レンダリングされますが、私が読んだ後は、「new」アクションが再度呼び出されることはありません。ただし、4.timesブロックに依存しています。そうしないと、ビューのループにループスルーの答えがないためです。これを修正するにはどうすればよいですか?リダイレクトを試みましたが、エラーメッセージが消えました。
新しいアクション
def new
@question = Question.new
4.times do
@question.answers.build
end
respond_to do |format|
format.html # new.html.erb
format.json { render json: @question }
end
end
アクションを作成する
def create
@question = Question.new(params[:question])
respond_to do |format|
if @question.save
format.html { redirect_to @question, notice: 'Question was successfully created.' }
format.json { render json: @question, status: :created, location: @question }
else
format.html { render action: "new" }
format.json { render json: @question.errors, status: :unprocessable_entity }
end
end
end