2010-10-12 4 views
0

J'ai la forme suivante dans mon application Rails:Un moyen facile de transformer un formulaire Rails en un formulaire AJAX?

<% form_tag password_resets_path, :id => 'recoverPasswordForm' do %> 
    <label for="passwordRecoveryEmailAddress">Email Address:</label>&nbsp; 
    <%= text_field_tag "passwordRecoveryEmailAddress" %> 
    <%= submit_tag 'Recover' %> 

    <br /> 

    <div id="forgotPasswordLoginLinkContainer"> 
    <a id="forgotPasswordLoginLink" href="/login">Login Instead</a> 
    </div> 
<% end %> 

Lorsque ce formulaire est soumis, la page doit recharger. Je voudrais facilement transformer ce formulaire en un formulaire AJAX, de sorte que le formulaire soumette via AJAX, et un rechargement de page ne se produit pas.

Je pourrais le faire facilement en utilisant jQuery, accrocher dans la fonction .submit(). Mais, je suis curieux: Rails fournit-il un moyen facile de transformer un formulaire donné en un formulaire AJAX? Ou, quelle est la manière la plus simple (mais élégante) possible? Peut-être quelque chose comme

<% form_tag password_resets_path, :id => 'recoverPasswordForm', :ajax => true do %> 

J'utilise Rails 2.

Répondre

2

Oui, et vous étiez proche avec votre estimation. Rails 3 vous permet de faire form_tag ..., :remote => true pour que le formulaire utilise AJAX si Javascript est disponible.

Voir http://railsapi.com/doc/rails-v3.0.0/classes/ActionView/Helpers/FormTagHelper.html#M002483

+0

Y at-il un moyen avec Rails 2? Je n'utiliserai pas 3 avec ce projet, malheureusement. –

+3

Utilisez 'form_remote_tag' dans ce cas - http://railsapi.com/doc/rails-v2.3.8/classes/ActionView/Helpers/PrototypeHelper.html#M002318 –

+0

Nice! Je vais essayer ça. Je vous remercie! –

Questions connexes