Wie erhalte ich meine neuen Anmeldungen, um das Formular AJAXified zu erstellen?

Was ich tun möchte, ist, wenn das Konto erfolgreich erstellt wurde, das übermittelte Formular ausgeblendet und eine Meldung angezeigt wird (abhängig vom Status der Registrierung).

Wenn es erfolgreich war, sollte ein einfaches "Danke" angezeigt werden. Bitte überprüfen Sie Ihre E-Mails.

Wenn dies nicht der Fall ist, sollte eine entsprechende Meldung angezeigt werden, z.

Das ist meine Form:

<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>

Das ist meincreate.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);
  });    
)}

Das funktioniert aber nicht richtig. Zum Beispiel, wenn ich auf "Senden" drücke und die E-Mail-Adresse bereits in der Datenbank ist - passiert nichts.

P.S. Ich weiß, wenn es eine "normale" Form wäre, würde ich tunformat.js innerhalb des Controllers, der dieses Formular verarbeitet - und die Statuscodes und Meldungen dort ausarbeitet -, aber Devise ist ein anderes Biest und ich möchte keine neuen Controller generieren und Funktionen überschreiben, die ich nicht sollte, wenn ich mich nicht ganz wohl fühle .

Antworten auf die Frage(2)

Ihre Antwort auf die Frage