我不知道怎么问这个。我如何以嵌套的形式执行此操作。当我点击新的。我想从customer_template_detail填充customer_answer_detail的一些字段。我有嵌套形式的循环,但@customer_answer.customer_answer_details.build
不在里面工作。
码
<%= simple_form_for @customer_answer do |f| %>
<%= f.simple_fields_for :customer_answer_details, :wrapper => false do |p| %>
<% @customer_template.customer_template_details.each do |ctd| %>
<div class="form-group">
<%= p.input :name, :as => :hidden, :input_html => { :value => ctd.name } %>
<%= p.input :customer_template_detail_id, :as => :hidden, :input_html => { :value => ctd.id } %>
<label class="col-sm-2 col-sm-2 control-label"><%= ctd.name %></label>
<div class="col-sm-10">
<%= p.input :answer,
:label => false,
:input_html => {:class => "form-control"} %>
</div><!-- /form col-sm-10-->
</div><!-- /form group-->
<% @customer_answer.customer_answer_details.build %>
<% end %>
<% end %>
<% end %>
你知道怎么做吗?
答案 0 :(得分:1)
你走在正确的轨道上,只是按照错误的顺序进行。
现在,您在构建任何@customer_answer.customer_answer_details
之前渲染表单。
将@customer_answer.customer_answer_details.build
转换为new
控制器操作(如果create
失败并呈现create
,则new
。