I'm trying to customize my routes in devise. I've tried to use devise_scope :user, but it dind't work. So I changed to devise_for, and skiped the custom routes (registrations, confirmations, passwords, session) and it worked. But then, an error show up in my views, when i wass calling "session_path" for example. It was making a form redirecting to "session.user", that makes no sense.
Here is the code:
#routes.rb
devise_for :users, :path => '', :skip => [ :passwords, :registrations, :confirmations] do
post "account/password", :to => "devise/passwords#create"
get "account/password/new", :to => "devise/passwords#new", :as => "new_password"
get "account/password/edit", :to => "devise/passwords#edit", :as => "edit_password"
put "account/password", :to => "devise/passwords#update"
post "account", :to => "users/registrations#create"
get "sign_up", :to => "users/registrations#new"
delete "account", :to => "users/registrations#destroy"
post "confirmation", :to => "devise/confirmations#create"
get "confirmation/new", :to => "devise/confirmations#new", :as => "new_confirmation"
get "confirmation", :to => "devise/confirmations#show"
end
New session view:
#users/sessions/new.html.erb = form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |f| %>
Error:
No route matches {:action=>"new", :format=>:user, :controller=>"devise/passwords"}
What do I do? What happened to "devise_scope" doesn't work correctly (The error it was showing up was "Could not find devise mapping for ...")?
Thanks