2015-07-06 11 views
7

Standardowa kolumna użytkownika w Devise to last_sign_in_at, która zachowuje poprzednią wartość current_sign_in_at po zaktualizowaniu current_sign_in_at.Co to jest last_sign_in_at używane w Devise?

Czy dla każdego urządzenia last_sign_in_at dostępne jest narzędzie do podstawowej funkcji Devise lub modułu, czy też jest to tylko ogólna wygoda?

Odpowiedz

3

last_sign_in_at to data i godzina zalogowania się użytkownika przed jego bieżącą sesją (jeśli dotyczy). Będzie to nil, jeśli jest to ich pierwsza sesja.

Lepszym nazwisko mogło previous_sign_in_at bo to nie jest czas, podpisali w ostatniej (obecny jeden), to czas wcześniej.

Najlepszym sposobem na wyjaśnienie jest zilustrowanie jego użycia: kiedy użytkownicy logują się na stronie, jeśli ich last_signed_in_at jest mniejszy niż ostatnia aktualizacja Warunków & Warunki, wyślij je na stronę akceptacji.

Tak jak w przypadku większości atrybutów modułu Trackable, nie jest on używany wewnętrznie do Devise, mimo że jest przez niego utrzymywany.

+0

Jak uzyskać czas sign_out w opracowaniu? –

+0

To jest inne pytanie, a moduł śledzenia nie pomoże. Twoja odpowiedź zależy od tego, co chcesz i co już zaimplementowałeś. Możesz utworzyć własną kolumnę signed_out w bazie danych i ustawić ją w akcji wylogowania kontrolera sesji kontrolera, lub możesz użyć modułu modułowego Devise (jeśli jest odpowiedni) i sprawdzić atrybut last_access. – IAmNaN