2012-04-10 9 views
10

Mam oparty pamięci tabelę sesji zawierającą następujące elementy:Zmiana updated_at w rekordzie Rails

id 

sessnhash 

userid 

created_at 

updated_at 

Chodzi o to, że podczas pierwszego logowania użytkownika w przypadkowej sessnhash jest tworzona i przekazywana z powrotem tak, że wszystkie dalsze działania musieć wysłać ten sessionhash dla żądań serwera. Te przechodzą przez loggedin? metoda na kontrolerze aplikacji, która po prostu sprawdza, czy istnieje wiersz w tabeli dla tego sessionhash.

Chcę teraz rozszerzyć tę funkcjonalność, aby zachować zakładkę ostatniej aktywności jakiejkolwiek aktywności dla tego użytkownika i pomyślałem, że jednym ze sposobów na wykonanie tego byłoby natychmiastowe wykonanie zapisu po znalezieniu sesji, mając nadzieję, że następnie zaktualizuj atrybut "updated_at".

Jednak Railsy są zbyt sprytne i nie aktualizują niczego, ponieważ w rzeczywistości nic nie zostało zaktualizowane.

Czy jest jakiś sposób zmuszenia Railsów do aktualizacji atrybutu updated_at bez konieczności wprowadzania jakichkolwiek zmian danych do innych atrybutów?

+0

Powinieneś przyjąć swoją odpowiedź. –

Odpowiedz

22

Właśnie się nauczyłem, że muszę to zrobić.

sessn.touch 

, która zaktualizuje atrybut updated_at.

Wszystko tutaj: touch.

Powiązane problemy