Форма вложенной модели - динамическое добавление / удаление полей - PullRequest
0 голосов
/ 18 февраля 2011

Я слежу за «вложенной моделью частей 1 и 2» железнодорожных передач о форме опроса, содержащей вопросы, которые, в свою очередь, содержат ответы.Дело в том, что при первоначальном отображении формы опроса отображаются поле вопроса и одно поле ответа.Когда пользователь нажимает на поле «Добавить вопрос», отображается только поле вопроса.Поле ответа не отображается до тех пор, пока пользователь не нажмет «Добавить ответ».

Я бы хотел, чтобы поле вопроса и поле ответа первоначально отображались при нажатии пользователем на «Добавить вопрос».

В настоящее время код выглядит так:

# helpers/application_helper.rb
module ApplicationHelper

  def link_to_add_fields(name, f, association)
    new_object = f.object.class.reflect_on_association(association).klass.new
    fields = f.fields_for(association, new_object, :child_index => "new_#{association}") do |builder|
      render(association.to_s.singularize + "_fields", :f => builder)
    end
    link_to_function(name, h("add_fields(this, \"#{association}\", \"#{escape_javascript(fields)}\")"))
  end
end




// application.js

function add_fields(link, association, content) {
  var new_id = new Date().getTime();
  var regexp = new RegExp("new_" + association, "g")
  $(link).up().insert({
    before: content.replace(regexp, new_id)
  });
}

Любая помощь будет высоко ценится.

Большое спасибо:)

1 Ответ

1 голос
/ 18 февраля 2011

render(association.to_s.singularize + "_fields", :f => builder) вызывает частичное, содержащее поле вопроса. Вам нужно найти поля _question_ в директории view / questions / и добавить туда поле ответа

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...