Предварительная загрузка данных формы

Я использую технику Райана Бейтса, проиллюстрированную в Railscasts Episode 197, чтобы форма могла "расти" по мере того, как пользователь добавляет в нее больше элементов. Это все работает отлично, но мне нужно вызвать страницу, предоставляя начальный элемент как часть URL.

Так как в методе Райана пользователь нажимает кнопку "Добавить", чтобы вызвать функцию jQuery для добавления полей в форму, я немного запутался, как передавать информацию из контроллера в jQuery для вызова и предварительного заполнения одного из этих новых полей.,

Я думаю об этом неправильно?

2 ответа

Решение

Да, вы думаете об этом неправильно;-)

Возьмите эту форму, например:

<% form_for @survey do |f| %>  
  <%= f.error_messages %>  
  <p>  
    <%= f.label :name %><br />  
    <%= f.text_field :name %>  
  </p>  
  <% f.fields_for :questions do |builder| %>  
    <%= render 'question_fields', :f => builder %>  
  <% end %>  
  <p><%= link_to_add_fields "Add Question", f, :questions %>  
  <p><%= f.submit "Submit" %></p>  
<% end %>

fields_for является итератором; так что все, что должен сделать ваш контроллер, это:

@survey.questions.build(:content => "Prepared question")

и это будет отображаться на странице.

Создайте текстовые поля, как обычно, в представлении Rails.

Другие вопросы по тегам