Mi spiego.
Uso devise_ldap per l'autenticazione.
Nel modello user ho implementato il metodo:
def name
"#{first_name} #{last_name}"
end
L'utente guest nel db ha guest guest come first_name e last_name,
quindi current_user.name mi darebbe guest guest.
Vorrei che l'utente guest dopo essersi loggato inserisse il suo nome e
cognome attraverso un form e vorrei fare in modo che da quel momento
in poi per tutta l'applicazione current_user.name avesse i dati
inseriti attraverso il form.
Ora per fare il redirect ad un form per inserire nome e cognome ho
fatto l'override del metodo after_sign_in_path_for:
def after_sign_in_path_for(resource)
if current_user.uid == "ospite"
login_guest_user_path(resource)
else
super
end
end
L'utente guest inserisce nel form presentato dalla pagina
login_guest_user_path i propri dati ma a questo punto non so come
modificare la sessione del current_user in modo che il suo metodo name
mi possa restituire il nome e cognome inseriti.
on 2012-09-22 00:16
on 2012-09-22 16:04
2012/9/22 Mauro <mrsanna1@gmail.com>: > Vorrei che l'utente guest dopo essersi loggato inserisse il suo nome e > super > end > end > > L'utente guest inserisce nel form presentato dalla pagina > login_guest_user_path i propri dati ma a questo punto non so come > modificare la sessione del current_user in modo che il suo metodo name > mi possa restituire il nome e cognome inseriti. Nessuna idea?
on 2012-09-22 22:17
Ogni guest ha un record personale? Maurizio -- My profile <https://plus.google.com/100973969013103507046/about> 2012/9/22 Mauro <mrsanna1@gmail.com>
on 2012-09-23 01:06
2012/9/22 maurizio de magnis <maurizio.demagnis@gmail.com>:
> Ogni guest ha un record personale?
No ha solo un record nel db con first_name e last_name "guest" guest".
current_user.name percio' mi restituisce guest guest.
Ecco perche' dopo che il guest si e' loggato con successo, chiedo,
tramite form, di inserire nome e cognome e vorrei far si che per tutta
l'applicazione current_user.name mi restituisca il nome e cognome
inseriti nel form.
Immagino di dover intervenire nella session di user ma non riesco a
capire come.
on 2012-09-23 11:20
current_user ritorna l'utente loggato (e di norma usa la memoization). Quindi, dopo il login di guest, dovresti usare un nuovo utente ad-hoc, oppure: 1) imposti il nuovo nome in sessione 2) fai override di current_user per far tornare il nome dalla sessione IMHO, questa cosa suona di porcata olimpica, per si pu fare Il giorno domenica 23 settembre 2012, Mauro ha scritto:
on 2012-09-23 11:58
2012/9/23 Andrea Pavoni <apeacox@gmail.com>: > current_user ritorna l'utente loggato (e di norma usa la memoization). > Quindi, dopo il login di guest, dovresti usare un nuovo utente ad-hoc, > oppure: > > 1) imposti il nuovo nome in sessione E' quello che voglio fare. Siccome mi appoggio ad una applicazione che chiede current_user.name non posso far altro che trovare un modo per poter cambiare cio' che current_user.name mi restituisce. Ci sara' pure una sessione di current_user dove poter intervenire.
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.