Bonjour,
Voila je rencontre un petit problème avec mon code.
Je cherches à rendre possible la connexion de mes utilisateurs.
Je suis le tutoriel de Grafikart (https://www.youtube.com/watch?time_continue=116&v=Nc_AfbwmDrM)
L'inscription fonctionne, après l'inscription l'utilisateur est bien connecté (ID stocké en session).
Mais lorsque j'essaie de passer par le sign-in, je rencontre l'erreur suivante : No route matches [POST] "/sessions/new"
Voici le contenu de mes différents fichiers :
routes.rb
Rails.application.routes.draw do
root 'pages#index'
resources :users, only: [:new, :create]
resources :sessions, only: [:new, :create, :destroy]
get '/profile', to: 'users#edit', as: :profil
patch '/profile', to: 'users#update'
end
sessions_controller.rb
class SessionsController < ApplicationController
skip_before_action :only_signed_in, only: [:new, :create]
def new
end
def create
user_params = params.require(:user)
@user = User.where(username: user_params[:username])
.or(User.where(email: user_params[:username])).first
if @user and @user.authenticate(user_params[:password])
session[:auth]['id'] = @user.id
redirect_to profile_path
else
redirect_to new_user_path
end
end
def destroy
end
end
application_controller.rb
class ApplicationController < ActionController::Base
before_action :only_signed_in
helper_method :current_user, :user_signed_in?
private
def only_signed_in
if !user_signed_in?
redirect_to new_user_path
end
end
def current_user
return nil if !session[:auth] || !session[:auth]['id']
return @_user if @_user
@_user = User.find(session[:auth]['id'])
end
def user_signed_in?
!current_user.nil?
end
end
Je n'arrives pas à comprendre d'où viens cette erreur ni à quoi elle est due.
Merci de votre aide,