Как я могу получить мою новую регистрационную форму для разработки AJAXified?
Я хочу, чтобы после успешного создания учетной записи отправленная форма исчезла, и должно появиться сообщение (в зависимости от статуса регистрации).
Если все прошло успешно, они должны увидеть простое "Спасибо". Пожалуйста, проверьте свою электронную почту. & Quot;
Если это не так, то они должны увидеть соответствующее сообщение, например "Извините, электронное письмо уже занято".
Это моя форма:
<div class="nine columns offset-by-three sign-up-form">
<%= form_for(resource, :as => resource_name, :class => "send-with-ajax", :url => user_registration_path(resource), :validate => true, :html => { :id => 'user_new' }) do |f| %>
<div class="six columns alpha">
<%= f.text_field :email, :placeholder => "[email protected]", :input_html => {:autofocus => true}, :validate => true %>
</div>
<div class="three columns sign-up alpha">
<%= f.submit :label => "Submit", :value => "Sign Me Up!" %>
<div class="ajax-response"><%= devise_error_messages! %></div>
</div>
<% end %>
</form>
</div>
Это моеcreate.js.erb
:
$(document).ready(function() {
$('#user_new').submit(function() {
$(this).fadeOut(600).hide();
$(this).append('<h3>Thank You. You should receive an email shortly.</h3>').fadeIn(1000);
});
)}
Но это не работает должным образом. Например, когда я нажимаю «отправить» и адрес электронной почты уже находится в базе данных - ничего не происходит.
Постскриптум Я знаю, что если бы это было "регулярно" форма, я бы сделалformat.js
в контроллере, который обрабатывает эту форму - и определить коды состояния & amp; сообщений нет, но Devise - это другой зверь, и я не хочу создавать новые контроллеры и переопределять функциональность, которую я не должен делать, когда мне не совсем удобно.