【问题标题】:fields_for helper: Need to render one text area in rails viewfields_for helper:需要在rails视图中渲染一个文本区域
【发布时间】: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

问题截图:

【问题讨论】:

  • 您能发布您的控制器和型号代码吗?还有QuestionEvaluationFormAnswer之间的关系应该是has_one/belongs_to——是吗?
  • @zeantsoi hi 已经更新了我的问题。问题有_许多答案和答案属于_问题
  • 您能否发布您的完整控制器代码,或者至少发布呈现所描绘视图的操作?
  • @zeantsoi 我发布了与视图相关的控制器代码。
  • 好的,我在下面提出了修复建议。

标签: ruby-on-rails ruby nested-attributes nested-loops form-helpers


【解决方案1】:

试试这个。

控制器

def answer        
     @evaluation_form.questions.each do |question|        
         @answer_form = question.evaluation_form_answers.build
     end
end    

查看

<%= question_form.fields_for :evaluation_form_answers, @answer_form do |answer_form| %> 

【讨论】:

    【解决方案2】:

    查看此 railscasts 剧集Rails Casts Nested Model Form episode 196

    【讨论】:

      猜你喜欢
      • 2018-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-19
      • 1970-01-01
      • 2012-05-24
      相关资源
      最近更新 更多