Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Rails devise help routing error No route matches "/sessions/user"

When I login on my page I automatic go to the route: http://localhost:3000/sessions/user

And I get this error:

Routing Error

No route matches "/sessions/user"

I have created a controller named sessions_controller.rb in users folder here it is:

class Users::SessionsController < Devise::SessionsController

  def new
    redirect_to root_url, :notice => "You have been logged out."
  end

  def create
    user = User.authenticate(params[:login], params[:encrypted_password])
    if user
      session[:user_id] = user.id
      redirect_to root_url, :notice => "Logged in successfully."
    else
      flash.now[:alert] = "Invalid login or password."
      render :action => 'new'
    end
  end

  def destroy
    session[:user_id] = nil
    redirect_to root_url, :notice => "You have been logged out."
  end
end

My route file:

Densidste::Application.routes.draw do
  match 'user/edit' => 'users#edit', :as => :edit_current_user

 devise_for :users, :controllers => { :sessions => "users/sessions" } do
    get "login", :to => "devise/sessions#new"
    get "opret", :to => 'users/users#new'
    get "logud", :to => 'users/users#destroy'
  end
  resources :sessions
  resources :users

  devise_for :users, :controllers => { :sessions => "users/sessions" }

  resources :aktivs
  resources :taggingposts
  resources :tags
  resources :kommentares
  resources :posts
end
like image 827
Hans Avatar asked Jan 20 '23 19:01

Hans


2 Answers

(Old question but I ran into the same issue when setting up Devise, so hope this helps others)

Removing resources :sessions from the routes file should solve the problem.

like image 56
wyclin Avatar answered Jan 31 '23 09:01

wyclin


For those who experiencing this issue with Devise 2.0 and Rails 3.2.1 and checked all the observations made by @Micah Alcorn but still facing the problem — restart your web server. Worked for me.

like image 41
jibiel Avatar answered Jan 31 '23 08:01

jibiel