Ruby Rspec请求规范寻找单一命名控制器

Ruby Rspec请求规范寻找单一命名控制器,ruby,ruby-on-rails-3,routing,Ruby,Ruby On Rails 3,Routing,我定义了以下路由和以下UsersController,当我尝试在{visit signup_path}之前运行spec test尝试,我得到以下错误: 错误 Failure/Error: before { visit signup_path} ActionController::RoutingError: uninitialized constant UserController # ./spec/requests/user_pages_spec.rb:7:in

我定义了以下路由和以下UsersController,当我尝试在{visit signup_path}之前运行spec test尝试,我得到以下错误:

错误

Failure/Error: before { visit signup_path}
     ActionController::RoutingError:
       uninitialized constant UserController
     # ./spec/requests/user_pages_spec.rb:7:in `block (3 levels) in <top (required)>'
  resources :users
用户\u控制器.rb

  resources :users
  match '/signup',  to: 'users#new'
  match '/help', to: 'static_pages#help'
  root :to => 'static_pages#help'
class UsersController < ApplicationController
  def new
  end

  def show
    @user = User.find(params[:id])
  end
end
以下是我的路线:

users GET    /users(.:format)          users#index
          POST   /users(.:format)          users#create
 new_user GET    /users/new(.:format)      users#new
edit_user GET    /users/:id/edit(.:format) users#edit
     user GET    /users/:id(.:format)      users#show
          PUT    /users/:id(.:format)      users#update
          DELETE /users/:id(.:format)      users#destroy
   signup        /signup(.:format)         users#new
     help        /help(.:format)           static_pages#help
     root        /                         static_pages#help
我可以毫无疑问地访问www.blah.com/signup。但是规范正在寻找一个单一的用户控制器。我还可以用“/users/new”替换“signup\u path”,测试就会通过


另外,我还想补充一点,最初我使用rails生成器(使用单一版本)创建了控制器。但当我发现使用rails destroy controller脚本时,我放弃了它。然后为复数版本发布了正确的rails生成器。就像我说的,测试好像搞砸了,但是实际的应用程序。

你的
描述的
块在你的规范中是什么样子的?您没有指定类似于
descripe UserController
的内容,是吗?我已经添加了完整的descripe块。我没有任何硬编码。我确实添加了关于首先生成单一版本的附加注释(参见注释)。我还使用了Guard/Spork,在编辑spec_helper.rb文件强制重新加载Spork之后,测试现在通过了。有人能解释为什么会这样吗?
users GET    /users(.:format)          users#index
          POST   /users(.:format)          users#create
 new_user GET    /users/new(.:format)      users#new
edit_user GET    /users/:id/edit(.:format) users#edit
     user GET    /users/:id(.:format)      users#show
          PUT    /users/:id(.:format)      users#update
          DELETE /users/:id(.:format)      users#destroy
   signup        /signup(.:format)         users#new
     help        /help(.:format)           static_pages#help
     root        /                         static_pages#help