2011-06-18 1 views
2

Railsの3.0.9 + Rubyの1.9.2 P180 +工夫、そしてここにある私のルート:私は基本的にしたかったRailsの3.0.9 + Rubyの1.9.2 P180 +工夫 - ルート私が使用している

[...] 
devise_for :users,:controllers => { :sessions => "users/sessions" } 
[...] 
root :to => "users/sessions#new" 

工夫のログインページを作成し、私のルートルート...しかし、私はそれ私のローカルサーバ(のhttp:// localhostを:3000)しようとすると、私は次のエラーを取得する:

Unknown action 

Could not find devise mapping for path "/". Maybe you forgot to wrap your route inside 
the scope block? For example: devise_scope :user do match "/some/route" => 
"some_devise_controller" end 

答えて

3

はこれを試してみてください:

devise_scope :user do 
    root :to => "users/sessions#new" 
end 

編集: あなたが工夫のデフォルトのコントローラを使用していたならば、あなたはこれを行うだろう:

devise_scope :user do 
    root :to => "devise/sessions#new" 
end 
+0

'ユーザーが/'この場合には冗長でしょうか? – raidfive

+0

コントローラのサブクラス化の仕方によって異なります。あなたが 'class SessionsController David

+0

私は上記のことを後でテストしますが、これは私がやったことです(それはうまくいくと思われます): 'devise_for:users、:controllers => {:sessions => 'users/sessions'} do' 'ルート: => "users/sessions#new" end' ...このdevise_forとdevise_scopeは非常に混乱します。 – Dan