Reputation: 6754
I am using 'devise', '~> 3.4.1' and rails 4 in my app. When I try to create custom routes am getting wiered error. What else I need to add in my route.rb
Error: ArgumentError: ' devise/sessions' is not a supported controller name. This can lead to potential routing problems. See
routes.rb
Rails.application.routes.draw do
devise_for :users
devise_scope :user do
get 'register', to: 'devise/registrations#new', as: :register
get 'login', to: ' devise/sessions#new', as: :login
end
The problem occured at login route.
Upvotes: 2
Views: 3710
Reputation: 157
There is a typo in your code, a space before 'devise/sessions#new'.
This,
get 'login', to: ' devise/sessions#new', as: :login
should be
get 'login', to: 'devise/sessions#new', as: :login
Upvotes: 2
Reputation: 577
Try out this code:
devise_scope :user do
get '/login' => 'devise/sessions#new'
get '/register' => 'devise/registrations#new'
end
Upvotes: 2
Reputation: 591
You need to do it this
devise_for :users, path_names: {
sign_in: 'login', sign_out: 'logout',
password: 'secret', confirmation: 'verification',
registration: 'register', edit: 'edit/profile'
}
Source: http://www.rubydoc.info/github/plataformatec/devise/ActionDispatch/Routing/Mapper:devise_for
Upvotes: 1
Reputation: 669
devise_for :user, :path => ' ', :path_names => { :sign_in => "login" :sign_up => "register" }
Upvotes: 0