У меня есть форма, которую я отправляю через AJAX (используя прототип и встроенный рельс 'form_remote_tag' helper).
Я хотел бы обновить один div (область состояния), если есть ошибки проверки формы, но другой div (div, где находится форма), если подача проходит успешно.Обновление различных divs от AJAX в зависимости от ошибок проверки
Мой код выглядит примерно так:
<div id="recipe-status"><!-- I want form validation errors to go here --></div>
<div id="recipe">
<%= form_remote_tag(:update => "recipe-status",
:before => "Element.show('wait-indicator')",
:success => "Element.hide('wait-indicator')",
:complete => visual_effect(:appear, "recipe-status"),
:url => { :action => 'import', :id => @recipe.id },
:failure => "alert('Unable to import recipes at present')") %>
<-- Form goes here, I want this to be replaced if the submit succeeds -->
</div>
Единственный способ, которым я могу думать делать это, чтобы вернуть статус ошибки HTTP, если есть ошибка проверки, но это кажется немного рубить. Есть ли более чистый способ сделать это вообще?
Вы предлагаете мою функцию возвращает JSON вместо шаблона? Я рассматривал это как решение, но, казалось, было нерешительно передавать сообщения об ошибках. Или вы просто предлагаете мне обменять с Prototype на JQuery? – 2008-11-19 18:51:00
Я предлагаю заменить jQuery. Не нужно JSON, смотрите JQuery Railscasts, с которым я связан выше, он по сути объясняет все, что вам нужно для вашей задачи. – mwilliams 2008-11-19 18:56:25