2017-08-08 30 views
0

devise_scopeを使用してmy/loginをリダイレクトしてコントローラとビューを作成しようとしています。しかし同時に、私は/ users/sign_inのデフォルトのdeviseパスも使用したいので、私はskip [:sessions]をdeviseに含めなかったのです。しかし、私はroutes.rbをdevise_scopeの使用中にルートが見つかりません

undefined method `user_session_path' for #<Module:0x00564e34f44268 

エラー取得しています

devise_for :users, :class_name => '::User', :controllers => { 
     :registrations => "users/registrations", 
     :invitations => 'users/invitations', 
     :confirmations => 'users/confirmations', 
     :passwords => 'users/passwords'   
    } 
devise_scope :user do   
    get 'login', :action => :new, :controller => 'devise/sessions'  
end 

工夫が/セッション/ new.html.erb

<div class="app-section-body"> 
     <%= simple_form_for(resource, :as => resource_name, :url => session_path(resource_name), :html => { :class => 'form-vertical', :spellcheck => 'false' }) do |f| %> 

これはと/ユーザー/ sign_in動作しますが、中にエラーがスロー/ログイン

答えて

0

/がありません。get '/login'

あなたはこの

devise_scope :user do   
    get '/login', to: 'devise/sessions#new'  
end 
+0

問題でそれを少し簡略化することができますが完璧に動作し、リダイレクト、ではないですが、リダイレクト後にはポストURL行にエラーがスローされます。 –

+0

私の悪い、あなたが正しいと '/'実際には関係ありません。私は物事をテストするために私はあなたのエラーを再現することはできませんあなたが掲示したコードを使用するダミーのアプリを持っている。あなたのルートを正確にコピーし、 'simple_form_for'の一番上の行は同じです、' simple_form' gem –

+0

@ ShilpiKayalあなたが修正したなら 'rake routes'と完全なsign_in形式と' SessionsController'を投稿してくださいそれ。また、あなたは 'Devise'のどのバージョンを使用していますか? –

関連する問題