Bonjour,

Voila je rencontre un petit problème avec mon code.

Ce que je fais

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,

Aucune réponse