2012-02-28 1 views
1

私はRailsのチュートリアルでマイケルHartlsルビーをやっていると私はローカルホストを参照しようとしたとき、私はルーティングエラーを取得しています:3000 /セッションルビー - 「/セッション」に関するルーティングエラー

ルーティングエラー

Noルートマッチしない「/セッション」

チュートリアルから、私はレールが「セッション」への経路を推測し、私はroutes.rbをする仕様のルートを追加する必要はありません印象の下にありました。

私は熊手ルートを実行する場合、私は、次の

 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 POST /sessions(.:format)  {:action=>"create", :controller=>"sessions"} 
new_session GET /sessions/new(.:format) {:action=>"new", :controller=>"sessions"} 
    session DELETE /sessions/:id(.:format) {:action=>"destroy", :controller=>"sessions"} 
    root  /(.:format)    {:controller=>"pages", :action=>"home"} 
signup  /signup(.:format)   {:controller=>"users", :action=>"new"} 
signin  /signin(.:format)   {:controller=>"sessions", :action=>"new"} 
signout  /signout(.:format)  {:controller=>"sessions", :action=>"destroy"} 
    about  /about(.:format)   {:controller=>"pages", :action=>"about"} 
contact  /contact(.:format)  {:controller=>"pages", :action=>"contact"} 
    help  /help(.:format)   {:controller=>"pages", :action=>"help"} 

私のroutes.rbを私はroutes.rbをする次の行を追加した場合、私はそれが仕事を得ることができます

SampleApp::Application.routes.draw do 

    resources :users 
    resources :sessions, :only => [:new, :create, :destroy] 

    root    :to => 'pages#home' 

    match '/signup', :to => 'users#new' 
    match '/signin', :to => 'sessions#new' 
    match '/signout', :to => 'sessions#destroy' 

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

が含まれ得るが、私はこれを明示的に行う必要がないと思った

match '/sessions',:to => 'sessions#create' 

私に何か不足または何かを誤解していますか?
私はRailsの3.0.11とRubyを実行しています1.9.2p290

答えて

4

ではindexアクションに/sessionsルートにGET動詞要求をレール。

/sessions/newにアクセスするか、質問の最後の部分で行ったように追加の一致を追加する必要があります。

これらはresourceのデフォルトルートです:理にかなってhttp://guides.rubyonrails.org/routing.html#crud-verbs-and-actions

+0

おかげで、 – mdenomy