Sunday 15 May 2011

ruby - Rails: Routing Error: uninitialized constant SessionController -



ruby - Rails: Routing Error: uninitialized constant SessionController -

i have rails 4.0.10. i'm next michael hartl's ruby on rails tutorial, , i'm trying build login function, i'm getting next error when press login button:

routing error uninitialized constant sessioncontroller

i followed instructions exactly, i'm confused why i'm getting error. did wrong?

my sessions controller:

class sessionscontroller < applicationcontroller def new end def create user = user.find_by(id: params[session][:id]) if user && user.authenticate(params[:session][:password]) log_in user redirect_to root_path else flash.now[:danger] = 'invalid' render 'new' end end def destroy end end

routes:

website::application.routes.draw 'login' => 'sessions#new' post 'login' => 'session#create' delete 'logout' => 'sessions#destroy' "users/new" root 'home_page#home' end

sessions/new view:

<div id= "admin-sign-in"> <%= form_for(:session, url: login_path) |f| %> <%= f.label :id %> <%= f.text_field :id %> <%= f.label :password %> <%= f.password_field :password %> <%= f.submit "log in", class: "btn btn-primary" %> <% end %> </div>

sessions helper:

module sessionshelper def log_in(user) session[:user_id] = user.id end end

user model:

class user < activerecord::base has_secure_password end

users controller:

class userscontroller < applicationcontroller def new @user = user.new @users = user.all end def create @user = user.new(user_params) if @user.save render :action => "crop" else render 'new' end end private def user_params params.require(:user).permit(:password, :password_confirmation) end end

applicationcontroller:

class applicationcontroller < actioncontroller::base protect_from_forgery with: :exception include sessionshelper end

instead of:

post 'login' => 'session#create'

use plural:

post 'login' => 'sessions#create'

ruby-on-rails ruby ruby-on-rails-4 routing routes

No comments:

Post a Comment