rails датируются с json

Я реализую приложение Facebook и использую AJAX / JSON .

Однако возвращаемые структуры JSON имеют этот формат 2010-05-30T06:14:00Z .

Я Game.all.to_json в действие controllerа.

Как преобразовать их в обычный формат даты?

Легче ли это сделать со стороны сервера или на стороне клиента, используя fbjs ? Есть много ошибок с fbjs .

Поэтому я бы предпочел использовать решение со стороны Server side используя ( Active Records ). Подобно преобразованию данных перед отправкой структур JSON .

То, как я добавил свой собственный пользовательский формат в json, я возвращался, должен был добавить патч обезьяны в class ActiveSupport TimeWithZone.

Добавьте файл в папку config / initializers со следующим содержимым:

 class ActiveSupport::TimeWithZone def as_json(options = {}) strftime('%Y-%m-%d %H:%M:%S') end end 

С часовым поясом, работающим во всех основных браузерах и ie7 +:

 class ActiveSupport::TimeWithZone def as_json(options = {}) strftime('%Y/%m/%d %H:%M:%S %z') end end 

Если вы хотите сделать это с помощью javascript на стороне клиента, вы можете разобрать отдельные даты с чем-то вроде этого:

 prettyDate = function(dateString) { var day, formatted, jsDate, month; jsDate = new Date(dateString); day = jsDate.getMonth() + 1 < 10 ? "0" + (jsDate.getMonth() + 1) : "" + (jsDate.getMonth() + 1); month = jsDate.getDate() < 10 ? "0" + (jsDate.getDate()) : "" + (jsDate.getDate()); formatted = "" + day + "/" + month + "/" + (jsDate.getFullYear()); return formatted; }; 

Вам понадобится дополнительный код, если вам нужно отформатировать время, конечно.

Вы можете переопределить метод as_json в своей модели следующим образом:

 class Game def as_json(options = {}) super.merge(time: time.strftime('%d.%m.%Y %H:%M:%S')) end end 

Определенно проще сделать это на стороне сервера. Вы можете сделать gsub regex, чтобы поместить его в желаемый формат или time.strftime, а затем генерировать json этой строкой.

 Time.parse < datetime > 

Simples.

Rails теперь имеет метод .as_json для объекта DateTime . Жизнь стала проще.

  • OpenSSL :: SSL :: SSLError на Heroku
  • Как обрабатывать слишком длинные имена индексов в миграции Ruby on Rails ActiveRecord?
  • Rails 3.1 Активы - странное обслуживание в разработке
  • Невозможно установить жемчужину PG на мой Mac с Mavericks
  • Перемещение Rails для столбца изменения
  • чертеж / screen.css не предварительно скомпилирован
  • Как получить доступ к переменным экземпляра в движке CoffeeScript внутри шаблона Slim
  • Как работают методы объединения рельсов?
  • Rails 3.2: нажатие Heroku отклонено, приложение, поддерживающее Cedar, не обнаружено
  • Interesting Posts

    Если вы реализуете IDisposable.Dispose (), чтобы он никогда не выбрасывал?

    Объявления переменной C после заголовка функции в определении

    Каков ваш любимый подход к совместному использованию cookie для перекрестных доменов?

    Генерики, массивы и ClassCastException

    Блокировка доступа к частным переменным-членам? Принудительное использование публичных объектов?

    эффект щелчка на кнопке на Android

    Почему Double.NaN == Double.NaN возвращает false?

    Как получить имя вызывающего classа в Java?

    Не удается получить доступ к файлам пользователей на HD, снятым с другого компьютера

    Как узнать, какое программное обеспечение тайно потребляет мою пропускную способность

    Можно ли синхронно загружать данные из Firebase?

    Загорается игровой алгоритм

    Запуск в качестве другого пользователя в ярлыке

    Не удается войти в Google Drive (пользовательский интерфейс пуст)

    Как HashTables справляется с столкновениями?

    Давайте будем гением компьютера.