Précédent   Forum des professionnels en informatique > Autres langages > Autres langages > Ruby > Ruby on Rails
Ruby on Rails Le forum sur le framework Ruby on Rails. Voir aussi la FAQ RoR et les cours RoR.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/01/2012, 20h05   #1
Invité de passage
 
Inscription : novembre 2011
Messages : 3
Détails du profil
Informations forums :
Inscription : novembre 2011
Messages : 3
Points : 0
Points : 0
Par défaut modifier attribut apres connexion

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 ?
Forerunner est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2012, 23h09   #2
Invité de passage
 
Inscription : novembre 2011
Messages : 3
Détails du profil
Informations forums :
Inscription : novembre 2011
Messages : 3
Points : 0
Points : 0
*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...
Forerunner est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2012, 17h09   #3
Membre actif
 
Avatar de rivsc
 
Sylvain Claudel
Inscription : décembre 2008
Messages : 195
Détails du profil
Informations personnelles :
Nom : Sylvain Claudel
Localisation : France, Moselle (Lorraine)

Informations forums :
Inscription : décembre 2008
Messages : 195
Points : 199
Points : 199
Ben le message c'est @current_user est null (nil), quelle ligne ?
rivsc est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h21.


 
 
 
 
Partenaires

Hébergement Web