Rails 3:未定义的方法`remote_form_for’

我在HAML中有一个相当简单的Rails远程表单,部分在共享/用户之下:

- remote_form_for :user, :url => { :controller => "users", :action => "create" } do |f| .field = f.label :name, t('name') = f.text_field :name .field = f.label :email, t('email') = f.text_field :email .actions = f.submit 

无论我多么愚弄它,这都行不通。 我总是得到以下错误:

 undefined method `remote_form_for' for #<#:0x1036dfd90> 

我做了些蠢事吗? 它与form_for完美配合。

remote_form_for不再存在。

尝试添加

 :remote => true 

作为form_for的选项

 form_for :user, :remote => true, :url => { :controller => "users", :action => "create" } do |f| 

请参阅: http : //api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html#method-i-form_for

这是因为这个方法在Rails 3上被删除了

现在使用

 form_for ..., :remote => true 

您的代码变为:

 - form_for :user, :url => { :controller => "users", :action => "create" }, :remote => true do |f| .field = f.label :name, t('name') = f.text_field :name .field = f.label :email, t('email') = f.text_field :email .actions = f.submit 

并且您需要rails.jquery.js或原型中的相同才能使用它。 这是UJS在铁轨方面的改进。