如何使用fields_for更新has_many关联

时间:2017-02-22 11:29:59

标签: ruby-on-rails ruby-on-rails-3 fields-for

我正在进行测验,我有Survey模型,Question模型和Choice模型 我正在循环所有问题并显示该问题的选择 在他们给出的答案的选择表上还有一栏,这就是我想要更新的内容。

这是我的代码。

SurveyController

def show
  @survey = Survey.find(params[:id])
end

调查模型

class Survey < ActiveRecord::Base
  attr_accessible :name
  has_many :questions
end

问题模型

class Question < ActiveRecord::Base
  attr_accessible :question
  has_many :choices
  belongs_to :survey
end

选择模型

class Choice < ActiveRecord::Base
  attr_accessible :name
  belongs_to :question
end

调查显示视图

<div class="modal-wrap">
  <div class="modal-header">
    <% @survey.questions.size.times do %>
      <span></span>
    <% end %>
  </div>
  <div class="modal-bodies">
    <%= form_for @survey do |form| %>
      <% @survey.questions.each.with_index(1) do |question, index| %>
        <div class="modal-body">
          <div class="title">Question <%= index %></div>
            <div class="description"><%= question.question %></div>
              <%= form.fields_for :choices, question.choices do |choice_fields| %>
                <%= choice_fields.text_field :name %>
              <% end %>
              <div class="text-center">
                <div class="button">Next</div>
              </div>
            </div>
          <% end %>
        <% end %>
    </div>

我无法让form_for正常工作,有人可以帮我解决这个问题吗?

0 个答案:

没有答案