Jobs、Q&A の 3 つのリソースがあります。
関係は次のとおりです。ジョブには多くの質問があります。質問には多くの回答があります。
ジョブ フォーム ビューでネストされたフォームを作成しました。これには、ジョブと質問の作成が含まれます。これらはどちらも管理者の壁の後ろにありますが、ユーザーは回答フォームビューのフォームから質問に答えてもらいたいです (壁の後ろではありません)。
私が直面している問題は、回答フォーム フィールドのループを作成したいということです。
これはループであり、複数の回答フィールドがあるため、質問を回答フォームのラベルとして動的にレンダリングする必要があります。これはパスを反映しているため、jobs/1/questions/1/answers/new (編集: これは である必要がありますjobs/1/answers/new
) は 1 のすべての質問を表示しjob_id
ます。
どうすればこれを行うことができますか?私は回答コントローラーでこのような新しいアクションを使用することを考えていました(これは非常に間違っていると確信しています):
def new
@answer = Answer.new
10.times do
@job = Job.find(params[:job_id])
@question = @job.questions.find(params[:question_id])
@answer = @question.answers.build(params[:answer])
end
end
そして、ここに私の現在の回答フォームがあります:
<%= form_for(@answer, :url => job_question_answers_path(@job, @question)) do |f| %>
<% f.fields_for :answers do |builder| %>
<%= builder.label @question.question %>
<%= builder.text_area :answer, :rows => 10 %>
<% end %>
<%= f.submit "Create" %>
<% end %>
さらに情報が必要な場合はお知らせください。ご協力ありがとうございます。