【发布时间】:2011-07-14 02:23:04
【问题描述】:
我有三个资源:工作、问题和答案。
这些关系是: 约伯有很多问题;问题有很多答案。
我在 Jobs 表单视图中创建了一个嵌套表单, 这包括创造就业机会和问题。这些都将在管理墙后面,但我希望用户通过答案表单视图上的表单来回答问题(而不是在墙后面)。
我面临的问题是我想为答案表单字段创建一个循环。
由于这是一个循环并且会有超过 1 个答案字段,我希望问题能够动态呈现为答案表单标签。这将反映路径,因此 jobs/1/questions/1/answers/new(EDIT: this should be 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 %>
如果您需要更多信息,请告诉我,感谢您的帮助!
【问题讨论】:
-
jobs/1/questions/1/answers/new 看起来它会从单个工作中创建单个问题的答案。或者您是否尝试在创建答案时显示所有问题?
-
啊,你是对的,我试图在创建答案时显示该工作的所有问题。所以它应该是 /jobs/1/questions/answers/new 或者更确切地说是 jobs/1/answers/new ?
标签: ruby-on-rails loops form-for nested-resources