Time.now с сервера вместо клиентских компьютеров - PullRequest
1 голос
/ 16 февраля 2011

Если я не ошибаюсь, функция Time.now в Ruby берется с компьютера клиента.Как мы можем гарантировать, что оно взято с сервера, чтобы оно оставалось на том же времени, что и сервер, даже если дата / месяц / год клиента неверны?

Спасибо.

Ответы [ 3 ]

5 голосов
/ 16 февраля 2011

Time.now выполняется на сервере.

Если вы хотите установить часовой пояс, добавьте следующее в config/application.rb

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

Чтобы увидеть все доступные часовые пояса, введите в своем терминале следующую команду

rake time:zones:all

В старых версиях рельсов (rails <= 3.x) вы можете использовать

rake -D time
2 голосов
/ 16 февраля 2011

Time.now всегда оценивается на сервере, на котором выполняется код.В случае приложения Ruby on Rails это будет веб-сервер.

1 голос
/ 16 февраля 2011

Time.now сообщает только время машины, на которой выполняется сценарий. Сам по себе интерпретатор не может запустить код на компьютере пользователя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...