Ich habe Datensätze in der Datenbank, die created_at Feld in UTC hat. Es muss in der Tabelle "active_admin" als Zeit in der Benutzerzeitzone angezeigt werden. Zum Beispiel: in DB auf 2017.12.25 15.52.58 auf Seite erstellt: 2017-12-25 15 17:52:58Ermitteln Benutzer Zeitzone konstant mit rubyonrails activeadmin
Ich habe versucht, diesen Code in activeadmin zu verwenden
paginated_collection(user_actions.page(params[:page]).per(15), download_links: false) do
table_for(collection, sortable: false) do |action|
column ("Timestamp"){|action| action.created_at.in_time_zone('EET').strftime("%Y-%m-%d %H:%M:%S")}
end
end
und es funktioniert gut. Aber ich muss Benutzer Zeitzone konstant programmaticaly passieren sie in
in_time_zone(timezone_variable)
oder
in_time_zone(get_current_timezone_method)
Ich habe versucht, es zu bekommen, wie diese
Time.zone.now.name
bekommen, aber es funktioniert nicht und ich denke es, weil dieser Code versucht, die Server-Zeitzone zu bekommen, aber keinen Client. Gibt es eine Möglichkeit, Client-Zeitzone auf Client-Seite zu erhalten und created_at in Active_admin anzuzeigen, die Zeitzonen-Korrektur enthalten? auch (wenn previouse Art und Weise unmöglich ist) dachte ich über eine andere Art und Weise - zu speichern Benutzer Zeitzone in DB, wenn der Benutzer angemeldet und von DB in
passierenin_time_zone(action.user.timezone)
bekommen.. Gibt es eine Möglichkeit, Benutzer Zeitzone Konstante in Controller-Aktion auf der Serverseite zu erhalten, um es in der DB zu speichern?
Ja, JS ist der einzige Weg. Ein besserer Ansatz ist jedoch dokumentiert [hier] (https://stackoverflow.com/questions/22618056/javascript-timezone-information-how-to-get-america-los-angeles-or-äquivalent). –