2013-07-23 3 views
0

Я хочу получить часовой пояс пользователя, который не вошел в систему. А затем конвертировать время created_at в этот часовой пояс?Как получить часовую зону гостевого пользователя

Я искал в Интернете, но я не получил сообщение, связанное с часовым поясом гостя.

В моем файле application.rb установить часовой пояс, как:

config.time_zone = 'Central Time (US & Canada)' 
+0

Возможный дубликат [Определение часового пояса веб-пользователя] (http://stackoverflow.com/questions/13/determining-a-web-users-time-zone) – deefour

+0

Я бы отговорил вас от этого. Это лучшее решение для хранения часового пояса пользователей в модели пользователей и изменения созданного во времени в представлении не в базе данных. Вы потеряете возможность отслеживать «реальное» время его создания. – davidb

+0

@ davidb, вы правы, и это прямолинейно. Когда есть объект, тогда нет проблем. Но я хочу его для гостевого пользователя, который не проживает в базе данных и не имеет никакого объекта. –

ответ

0

Я предполагаю, у вас уже есть guest_user в любом объекте, на самом деле использовать часовой пояс пользователя наиболее распространенный вид это просто создайте частный метод в вашем ActionController и запустите его как фильтр вокруг.

around_filter :user_time_zone, :if => :guest_user 

def user_time_zone(&block) 
Time.use_zone(guest_user.time_zone, &block) 
end 

Надеюсь, это поможет. Спасибо