From 134360da46c1f8e5153c1c9eb5180ac990150d93 Mon Sep 17 00:00:00 2001 From: Tomer Kimia Date: Tue, 4 Mar 2014 17:57:15 -0500 Subject: signin gives error if user cannot sign in --- app/controllers/sessions_controller.rb | 19 ++++++++++--------- app/views/sessions/new.html.erb | 4 ++-- config/routes.rb | 2 +- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/app/controllers/sessions_controller.rb b/app/controllers/sessions_controller.rb index fa5d024..a74cbd3 100644 --- a/app/controllers/sessions_controller.rb +++ b/app/controllers/sessions_controller.rb @@ -2,9 +2,7 @@ class SessionsController < ApplicationController # GET /sessions/new def new - if @user.nil? - @user = User.new - end + @user = User.new end # POST /sessions @@ -12,12 +10,15 @@ class SessionsController < ApplicationController # find the user... @user = User.find_by(email: params[:session][:email].downcase) # ... and create a new session - if @user && @user.authenticate(params[:session][:password]) - sign_in @user - redirect_to root_path - else - redirect_to new_session_path - end + respond_to do |format| + if @user && @user.authenticate(params[:session][:password]) + sign_in @user + redirect_to root_path + else + format.html { render action: 'new' } + format.json { render json: @user.errors, status: :unprocessable_entity } + end + end end # DELETE /sessions/current diff --git a/app/views/sessions/new.html.erb b/app/views/sessions/new.html.erb index a820b2f..550a54d 100644 --- a/app/views/sessions/new.html.erb +++ b/app/views/sessions/new.html.erb @@ -1,6 +1,6 @@

Sign in

-<% if @fail %> -

Email and password combination not found

+<% if @user.nil? %> +

The username or password is incorrect. Verify that CAPS LOCK is not on, and then retype the current username and password.

<% end %>
diff --git a/config/routes.rb b/config/routes.rb index 85f063e..a4badf9 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -3,7 +3,7 @@ Leaguer::Application.routes.draw do #creates sessions as a resource but limits it to these actions match '/signup', to: 'users#new', via: 'get' match '/signin', to: 'sessions#new', via: 'get' - match '/signout', to: 'sessions#destroy', via: 'get' + match '/signout', to: 'sessions#destroy', via: 'delete' resources :sessions, only: [:new, :create, :destroy] -- cgit v1.2.3-2-g168b