|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : novembre 2011 Messages : 3 ![]() |
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 ? |
|
|
00
|
|
|
#2 |
|
Invité de passage
![]() Inscription : novembre 2011 Messages : 3 ![]() |
*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... |
|
|
00
|
|
|
#3 |
|
Membre actif
![]() Sylvain ClaudelInscription : décembre 2008 Messages : 195 ![]() |
Ben le message c'est @current_user est null (nil), quelle ligne ?
|
|
00
|
Copyright © 2000-2012 - www.developpez.com