Śledziłem railscast Ryana Bate'a # 106 http://railscasts.com/episodes/106-time-zones-revised, który dodaje ciąg znaków time_zone do modelu użytkownika. Ciąg jest z menu:ActiveSupport :: Lista stref czasowych dla offsetu
= f.time_zone_select :time_zone, ActiveSupport::TimeZone.us_zones
Próbuję kwerendy wszystkich użytkowników, którzy mają wspólne przesunięcie strefy czasowej (więc mogę wysłać do nich e-maila o określonej godzinie każdego dnia).
User.where(:time_zone => ['Guadalajara','Central America','Mexico City', 'Monterrey', 'Saskatchewan'])
Nie byłem w stanie uzyskać listy nazw stref czasowych dla określonego przesunięcia. Pluję z TzInfo i ActiveSupport :: TimeZone.zones_map z ograniczonym sukcesem. Czuję, że strefa_map powinna być w stanie zaspokoić moje potrzeby, ale nie byłem w stanie uzyskać danych, które z niego chcę (chociaż widzę to tam!).
Czy podejmuję niewłaściwe podejście? Myślałem, że zamiast tego mogę zapisać przesunięcie GMT na użytkowniku i zapytać w ten sposób?
Moje google-fu mnie zawiodło.
Very nice! Przy okazji, nie ma potrzeby na huk "kompaktowy!" ponieważ przypisujesz go do zmiennej, więc może być po prostu "kompaktowy" – MTarantini
Albo spójrz na mapowanie dla wersji 5.1+ http://api.rubyonrails.org/v5.1/classes/ActiveSupport/TimeZone.html –