AJAX в Rails: Показать модель # новую форму после завершения обновления модели # - PullRequest
2 голосов
/ 06 февраля 2012

У меня есть мастер настройки учетной записи в Rails, в котором я показываю список компаний. Когда данные компании обновляются через AJAX, все работает отлично. Однако после успешного обновления я также хотел бы заменить форму «Клиент обновления» на форму «Новый клиент».

Кажется, что правильнее всего было бы использовать AJAX для обновления элемента, содержащего форму, ответом формата JS от компаний # new. Возможно ли это из-за ответа компаний в новом формате JS?

1 Ответ

2 голосов
/ 06 февраля 2012

Да, использование ajax - хорошая вещь в этом случае.Как сообщается, данные компании успешно обновляются через ajax.

Что вы можете сделать, это визуализировать json в действии обновления, если текущее обновление выполнено успешно, и передать новую форму как json.

def update
    @company = Company.find(params[:id])
    respond_to do |format|
    if @company.update_attributes(params[:company])
      format.json { render json: { success: true, html: render_to_string('_form.html.slim', layout: false) } }
      format.html { redirect_to @company, notice: 'Company was successfully updated.' }
    else
      ...

Вы можете получить доступ к json в js изамените текущий элемент формы.

$('#company_form').live 'ajax:success', (event,data) ->
    $('#current_company_form').html(data.html) if(data.success == true)

Дайте мне знать, если это поможет.

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