Il s'agit probablement d'une erreur très basique, mais j'apprends toujours. =)Échec du test du contrôleur RSpec pour une route simple
Mon routes.rb ne se compose que de
WebPortal::Application.routes.draw do
resources :categories
end
Si je comprends bien, cette carte doit (entre autres) /categories
à CategoriesController.index
. Ce contrôleur ressemble à
class CategoriesController < ApplicationController
def index
end
end
Le fichier de vue correspondant existe, et le serveur rails dessert cette page correctement. Mais mon test RSpec
describe CategoriesController do
describe "GET :index" do
it "should be succesful" do
get :index
response.should be_succes
end
end
end
échoue avec le message
Failure/Error: get :index
ActionController::RoutingError:
No route matches {:controller=>"categories"}
Qu'est-ce que je fais mal ici?
Edit:
La commande rake routes
donne
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"}
Qu'est-ce que vous obtenez en exécutant "rake routes" dans votre dossier de projet? – Rasmus
@Rasmus: J'ai édité ma question avec la sortie. – Jens
Je suis toujours nouveau et je regarde un projet simple que j'ai. La seule différence entre mon code et le vôtre est que j'ai index comme 'index' au lieu de: index dans la spécification. Mais que je ne pense pas le fera – Rasmus