Bonjour,
J'ai une classe user avec un attribut last_log
comment peut on modifier la valeur de l'attribut lors de la connexion de l'utilisateur ?
Bonjour,
J'ai une classe user avec un attribut last_log
comment peut on modifier la valeur de l'attribut lors de la connexion de l'utilisateur ?
*update*
class SessionsController < ApplicationController
def new
end
def create
utilisateur = Utilisateur.authenticate(params[:session][:login],
params[:session][:mdp])
if utilisateur.nil?
flash.now[:error] = "Couple login/mot de passe invalide"
render 'new'
else
sign_in utilisateur
redirect_back_or utilisateur #log + redirection sur la page de l'utilisateur
end
end
def destroy
sign_out
redirect_to root_path
end
end
**********************
module SessionsHelper
def sign_in utilisateur
cookies.permanent.signed[:remember_token] = [utilisateur.id, utilisateur.sel_h]
self.current_user= utilisateur
end
def current_user
@current_user ||= utilisateur_from_remember_token #appel utilisateur_from_remember_token si @current_user non défini.renvoi @current_user sinon.
end
def current_user= utilisateur
@current_user = utilisateur
end
def signed_in?
!current_user.nil? #vrai si un utilisateur est identifié et faux sinon
end
def sign_out
cookies.delete(:remember_token)
#utilisateur = Utilisateur.find(@current_user.id)
#utilisateur.date_derniere_co = Time.now.strftime("%d-%m-%Y")
#utilisateur.save
self.current_user = nil
end
def acces_interdit
store_location
redirect_to inscription_path, :notice => "Vous devez vous inscrire pour acceder a ce contenu"
end
def redirect_back_or(default)
redirect_to(session[:return_to] || default)
clear_return_to
end
def current_user?(utilisateur)
utilisateur == current_user
end
private
def utilisateur_from_remember_token
Utilisateur.authenticate_with_sel_h(*remember_token) #remember_token devient un argument alors que c'est un tableau a 2 variables
end
def remember_token
cookies.signed[:remember_token] || [nil, nil] #si cookies.signed[:remember_token] est nul alors on retourne le tableau nul
end
def store_location
session[:return_to] = request.fullpath
end
def clear_return_to
session[:return_to] = nil
end
end
*************************
j'ai cette erreur a chaque fois que je fais @current_user.id
"Called id for nil, which would mistakenly be 4 -- if you really wanted the id of nil, use object_id"
J'arrive pas à comprendre pourquoi.si quelqu'un a le début du xommencement d'une explication...
Ben le message c'est @current_user est null (nil), quelle ligne ?
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager