Aucun itinéraire correspond à {:action=>“montrer”, :controller=>“utilisateurs”} Erreur

J'ai le texte suivant:

rspec test dans users_controller_spec:

it "should redirect to the user show page" do
    post :create, :user => @attr
    response.should redirect_to(user_path(assigns(:user)))
end

Dans mon users_controller j'ai le texte suivant:

def show
  @user = User.find(params[:id])
  @title = @user.name
end

def create
  @title = "Sign up"
  @user = User.new(params[:user])
  if @user.save
    redirect_to @user, :notice => "Signed Up!"
  else
    @title = "Sign up"
    render "new"
  end
end

Dans mes itinéraires.rb j'ai le texte suivant:

  Psra::Application.routes.draw do
  resources :users
  resources :sessions

  # Root Route

  root :to => 'pages#home'

  # Pages Routes

  match '/contact', :to => 'pages#contact'
  match '/about',   :to => 'pages#about'
  match '/help',    :to => 'pages#help'
  match '/signup',  :to => 'users#new'

  # Users Route

  match '/signup',  :to => 'users#new'

  #Sessions Routes
  get "logout" => "sessions#destroy", :as => "logout"
  get "login" => "sessions#new", :as => "login"

end

Et Voici mon râteau routes

       users GET    /users(.:format)             {:action=>"index", :controller=>"users"}
POST   /users(.:format)             {:action=>"create", :controller=>"users"}
new_user GET    /users/new(.:format)         {:action=>"new", :controller=>"users"}
edit_user GET    /users/:id/edit(.:format)    {:action=>"edit", :controller=>"users"}
user GET    /users/:id(.:format)         {:action=>"show", :controller=>"users"}
PUT    /users/:id(.:format)         {:action=>"update", :controller=>"users"}
DELETE /users/:id(.:format)         {:action=>"destroy", :controller=>"users"}
sessions GET    /sessions(.:format)          {:action=>"index", :controller=>"sessions"}
POST   /sessions(.:format)          {:action=>"create", :controller=>"sessions"}
new_session GET    /sessions/new(.:format)      {:action=>"new", :controller=>"sessions"}
edit_session GET    /sessions/:id/edit(.:format) {:action=>"edit", :controller=>"sessions"}
session GET    /sessions/:id(.:format)      {:action=>"show", :controller=>"sessions"}
PUT    /sessions/:id(.:format)      {:action=>"update", :controller=>"sessions"}
DELETE /sessions/:id(.:format)      {:action=>"destroy", :controller=>"sessions"}
root        /                            {:controller=>"pages", :action=>"home"}
contact        /contact(.:format)           {:controller=>"pages", :action=>"contact"}
about        /about(.:format)             {:controller=>"pages", :action=>"about"}
help        /help(.:format)              {:controller=>"pages", :action=>"help"}
signup        /signup(.:format)            {:controller=>"users", :action=>"new"}
/signup(.:format)            {:controller=>"users", :action=>"new"}
logout GET    /logout(.:format)            {:action=>"destroy", :controller=>"sessions"}
login GET    /login(.:format)             {:action=>"new", :controller=>"sessions"}

Cette tous les résultats dans l'erreur suivante:

1) UsersController POST 'create' success should redirect to the user show page
Failure/Error: response.should redirect_to(user_path(assigns(:user)))
ActionController::RoutingError:
No route matches {:action=>"show", :controller=>"users"}
# ./spec/controllers/users_controller_spec.rb:95:in `block (4 levels) in <top (required)>'

Toutes les idées sur ce que je fais mal?

Est-ce de travailler à partir du navigateur? Pas de test
Oui, il fonctionne à l'intérieur du navigateur.

OriginalL'auteur Noah Clark | 2011-11-09