2010-10-12 71 views
0

我有以下形式在我的Rails应用程序:将Rails表单转换为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 %> 

当表单提交,页面必须重新加载。我想将这个表单轻松地转换成AJAX表单,这样表单就可以通过AJAX提交,并且页面重新加载也不会发生。

我可以很容易地使用jQuery来挂钩到.submit()函数中。但是,我很好奇:Rails是否提供了一些简单的方法将任何给定的表单转换为AJAX表单?或者,什么是最简单(但优雅)的方式?也许像

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

我用Rails 2

回答

2

是的,你接近你的猜测。 Rails 3允许你做form_tag ..., :remote => true让表单在AJAX可用的情况下使用AJAX。

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

+0

有没有Rails 2的方法?不幸的是,我不会在这个项目中使用3。 – 2010-10-12 17:41:49

+3

在这种情况下使用'form_remote_tag' - http://railsapi.com/doc/rails-v2.3.8/classes/ActionView/Helpers/PrototypeHelper.html#M002318 – 2010-10-12 17:51:06

+0

不错!我会试试这个。谢谢! – 2010-10-12 17:55:09

相关问题