Rails 3 Rspec form_for弃用警告

时间:2011-02-28 20:38:46

标签: ruby-on-rails ruby-on-rails-3 forms tdd rspec

我的应用程序中有一个form_for,如下所示:

<%= form_for :user, @user, :url => { :controller => 'users', :action => 'update' }, :html => { :multipart => true, :method => 'put' } do |f| %>

这很好用。但是,当我使用Rspec运行测试时,我总是得到:

DEPRECATION WARNING: Using form_for(:name, @resource) is deprecated. Please use form_for(@resource, :as => :name) instead.

这似乎违背了Rails 3 forms guide中的内容。这只是rspec中的一个错误还是实际上是弃用?

1 个答案:

答案 0 :(得分:1)

你应该能够做到这一点

<%= form_for @user, :html => {:multipart => true} %>

由于Rails会知道@user是现有记录,因此它会知道向users_controller#update发送PUT请求。