【发布时间】:2014-03-25 06:32:25
【问题描述】:
我在使用rails 中的fields_for 助手时遇到问题。我有一个有很多答案的问题模型。 当我显示表单以供用户填写答案时,我只希望一个文本区域呈现特定问题。使用我当前的循环结构,它会为每个问题呈现 3 个文本区域。 (在我的示例中它们是 3 个问题)。
确定代码:
<div class="row">
<div class="large-12 columns panel">
<%= form_for(@evaluation_form) do |f| %>
<%= render 'application/errors', f: f %>
<%= f.fields_for :questions do |question_form| %>
<p><%= question_form.object[:title] %></p>
<%= question_form.fields_for :evaluation_form_answers do |answer_form| %>
<%= answer_form.text_area :answer, value: question_form.object.evaluation_form_answers.where(["student_id = ? and evaluation_form_question_id = ?", "#{current_student.id}", "#{question_form.object[:id]}"]).first.answer %>
<%= answer_form.hidden_field :user_id, :value => current_user.id%>
<%end%>
<%end%>
<div class="actions">
<%= f.submit "Submit Evaluation Form" %>
</div>
<% end %>
</div>
</div>
我的控制器代码:
def answer
@evaluation_form.questions.each do |question|
question.evaluation_form_answers.build
end
end
涉及的模型之间的关系:
Question: has_many :evaluation_form_answers
accepts_nested_attributes_for :evaluation_form_answers, allow_destroy: true
EvaluationFormAnswer : belongs_to :evaluation_form_question
问题截图:
【问题讨论】:
-
您能发布您的控制器和型号代码吗?还有
Question和EvaluationFormAnswer之间的关系应该是has_one/belongs_to——是吗? -
@zeantsoi hi 已经更新了我的问题。问题有_许多答案和答案属于_问题
-
您能否发布您的完整控制器代码,或者至少发布呈现所描绘视图的操作?
-
@zeantsoi 我发布了与视图相关的控制器代码。
-
好的,我在下面提出了修复建议。
标签: ruby-on-rails ruby nested-attributes nested-loops form-helpers