我有三个资源:作业,问题和答案。
关系是:Job有很多问题;问题有很多答案。Rails的嵌套资源form_for循环
我已在作业窗体视图 上创建了一个嵌套窗体,其中包括创建作业和问题。这些都将落后于管理墙,但我希望用户通过答案表单视图上的表单回答问题(而不是在墙后)。
我面临的问题是我想为答案表单域创建一个循环。
由于这是一个循环,并且会有超过1个答案字段,所以我想让问题动态呈现为答案表单标签。这将是反射通路,以便
工作/ 1 /问题/ 1 /答案/新
的(编辑:这应该是jobs/1/answers/new
)将显示出所有的问题都与job_id
的1
我如何去做这个?我想使用的答案控制器这样一个新的动作(我敢肯定是非常错误的):
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 %>
让我知道如果您需要更多信息并感谢您的帮助!
工作/ 1 /问题/ 1/answers /新看起来像它会创建一个单一工作的单个问题的答案。或者你在创建答案时试图显示所有问题? –
嗯,你是对的,我想在创建答案时显示该作业的所有问题。所以它应该是/ jobs/1/questions/answers/new或者是jobs/1/answers/new? – Igrabes