这可能是一个非常基本的错误,但我仍在学习。 =)
我的routes.rb仅包含
WebPortal::Application.routes.draw do
resources :categories
end
如果我理解正确,这应该(以及其他)将/categories
映射到CategoriesController.index
。该控制器看起来像
class CategoriesController < ApplicationController
def index
end
end
存在相应的视图文件,rails服务器可以很好地提供此页面。但我的RSpec测试
describe CategoriesController do
describe "GET :index" do
it "should be succesful" do
get :index
response.should be_succes
end
end
end
失败并显示消息
Failure/Error: get :index
ActionController::RoutingError:
No route matches {:controller=>"categories"}
我在这里做错了什么?
修改:
命令rake routes
给出了
rake routes
categories GET /categories(.:format) {:action=>"index", :controller=>"categories"}
POST /categories(.:format) {:action=>"create", :controller=>"categories"}
new_category GET /categories/new(.:format) {:action=>"new", :controller=>"categories"}
edit_category GET /categories/:id/edit(.:format) {:action=>"edit", :controller=>"categories"}
category GET /categories/:id(.:format) {:action=>"show", :controller=>"categories"}
PUT /categories/:id(.:format) {:action=>"update", :controller=>"categories"}
DELETE /categories/:id(.:format) {:action=>"destroy", controller=>"categories"}
答案 0 :(得分:0)
我使用的是RSpec 2.6.1版,因为我在http://ruby.railstutorial.org/使用了rails教程中的Gemfile。切换到2.7版修复了我的问题。