【发布时间】:2011-10-09 22:40:27
【问题描述】:
我有三个资源:工作、问题和答案。 这些关系是: 约伯有很多问题;问题有很多答案;工作有很多答案。
我已将所有表单嵌套在作业/新视图中。
现在,该应用的目标是让管理员(我们)在管理员墙后面创建工作和问题。一旦我们这样做了,我们希望列出为每个特定工作创建的问题,并让用户回答问题。这需要将答案表单放在不在管理墙后面的另一个视图(相同或不同的控制器)上。
由于表单都嵌套在作业/新视图中,我为答案表单创建了一个部分:
<%= form_for(@job) do |f| %>
<%= f.label :name %><br />
<%= f.text_field :name %>
<%= f.fields_for :questions do |builder| %>
<%= render 'question_fields', :f => builder %>
<% end %>
<%= f.submit %>
<% end %>
问题部分是:
<%= f.label :question, "Question" %>
<%= f.text_area :question, :rows => 10 %>
<%= f.check_box :_destroy %>
<%= f.label :_destroy, "Remove Question" %>
<%= f.fields_for :answers do |builder| %>
<%= render 'partials/answer_fields', :f => builder %>
<% end %>
答案部分是:
<%= f.label "Answer" %>
<%= f.text_area :answer, :rows => 10 %>
<%= f.hidden_field :question_id, :value => @question %>
<%= f.hidden_field :job_id, :value => @job.id %>
我的想法是我创建了一个部分,我可以在应用程序中的任何地方引用它,但我一直在尝试一切,但我似乎无法让它工作。
我基本上对这个设置有两个问题:
1) 我如何在另一个视图上单独呈现部分答案(正确的代码是什么)? 2) 创建此视图的最佳位置在哪里?我最初的想法是另一个工作视图,因为它将嵌套在父资源下,但我不完全确定这是否有效。
谢谢,如果您需要更多信息或说明,请告诉我。
【问题讨论】:
标签: ruby-on-rails partial-views nested-forms renderpartial nested-resources