Jestem świeżak jeżeli chodzi o Railsy i przygotowuję się troszkę do praktyk. Mam za zadanie wyświetlić prymitywny zegar (wyświetlający godzinę wejścia na stronę). Chciałem jednak to troszkę rozszerzyć i zrobić tak by czas cały czas się mierzył. Czy może ktoś mi podpowiedzieć jak takie coś prostego zrobić? W internecie widziałem sposób z partialem i JS ale jakoś go nie złapałem - chyba chodzi o ciągłe odświeżanie tego partiala.
Podstawowe pytanie jest takie, czy zegar powinien pokazywac czas wg. czasu na komputerze uzytkownika (tj. przegladarki), czy tez czas na serwerze (tam gdzie chodza Railsy).
Pierwsza opcja oznacza, ze mozna to zrobic w czystym javascript, jak pokazuje @RORMaster. Ale moim zdaniem ciekawsze byloby zrobienie tego zegara w oparciu o czas na serwerze.
A do tego mozesz uzyc co najmniej 3ch podejsc:
wolac kontroler zwracajacy czas i odswiezac to AJAX-em np. co 20 sekund, pomiedzy ‘wypelniajac’ czas Intervalem javascriptowym,
to samo, ale opakowac ten ‘zegarek’ jako komponent React, co ma o tyle sens, ze Rails 5.x ma fajna integracje poprzez Webpackera - https://github.com/rails/webpacker#react