Rails 4 + Devise: sign_in (user) -Methode funktioniert nicht, setzt current_user nicht

9

Ich arbeite an einer Kasse für ein Geschäft. Wenn das Formular gesendet wird, findet diese Aktion in meinem Controller statt

%Vor%

Ich teste dies durch raise ing innerhalb der Aktion und teste es mit better_errors:

%Vor%

Wenn ich jedoch zurück zu localhost: 3000 / gehe, wird current_user wieder nil :

%Vor%

Setzt der Benutzer "sign_in (guest)" die Sitzungsvariablen nicht so ein, dass " current_user " über Anfragen "bestehen bleibt"?

Was mache ich falsch?

    
Edmund 04.06.2014, 19:48
quelle

1 Antwort

3

Ich habe es herausgefunden. In meinem Objekt @checkout form aktualisiere ich die Attribute guest_user s und speichere sie, wenn ich @checkout.save aufruft. Ich denke, Devise muss die neueste Version von guest_user anmelden, also musste ich ein guest_user.reload vor sign_in(guest_user)

hinzufügen

Laden Sie kurz Ihren Benutzer ( user.reload ) neu, bevor Sie sich anmelden.

    
Edmund 29.10.2016, 16:08
quelle

Tags und Links