Как мне отправить связанный раздел формы удаленно в Rails, не отправляя всю форму?

У меня есть простая форма Rails, которая позволяет редактировать связанный с ней родительский элемент. Я хотел бы разрешить пользователю отправлять этот раздел формы с помощью: remote => true, чтобы пользователь мог добавить нового родителя, а затем выбрать его в обновленном меню выбора в другом месте формы. Как вы можете видеть в коде, я добавил кнопку отправки в родительскую часть формы, и она даже знает, нужно ли сказать «Создать» или «Обновить», но когда я отправляю ее, обновляется вся страница, вся форма отправляется на проверку и так далее. Как я могу достичь желаемого в Rails?

Вот код, о котором идет речь:

<%= form_for @sermon, :html => { :multipart => true } do |f| %>
  <div class="field">
    <%= f.label :title %><br />
    <%= f.text_field :title %>
  </div>
  <div class="field">
    <%= f.label :date %><br />
    <%= f.text_field :date %>
  </div>
  <div class="field">
    <%= f.label "Speaker" %><br />
    <%= f.select :speaker_id, Speaker.all.collect {|p| [ p.name, p.id ] }, {:include_blank => true} %>
  </div>
    <% @sermon.build_speaker unless @sermon.speaker %>
        <%= f.fields_for :speaker, :remote => true, :html => {:data_type => 'html', :id => 'create_speaker_form'} do |g| %>
            <%= g.label :name, "Or, add a new speaker:" %><br />
            <%= g.text_field :name %>
            <%= g.submit %>
        <% end %>
    </div>
  <div class="actions">
    <%= f.submit %>
  </div>
<% end %>

person Michael    schedule 22.02.2012    source источник


Ответы (1)


возможно, здесь был дан ответ на ваш вопрос Как вы отправляете форму rails 3, не обновляя страницу?

если это не помогает, вы можете попробовать использовать preventDefault (), прикрепив его к кнопке отправки. .

person Todor Grudev    schedule 22.02.2012
comment
На самом деле вопрос не в этом - у меня есть связанная форма в основной форме, которую я пытаюсь отправить. - person Michael; 23.02.2012