ruby-on-rails - 事件模型序列化器将所有日期转换为秒

标签 ruby-on-rails ruby active-model-serializers

我需要将 api 返回的所有日期转换为 Unix 日期格式(秒)。单独来说很容易......

class ChimichangaSerializer < ActiveModel::Serializer
  attributes :updated_at,

  def updated_at
    object.updated_at.to_i
  end
end

但是由于我必须为所有事情做这件事,所以就会出现错误和疯狂。我怎样才能为所有这些实现此功能?

最佳答案

添加以下内容:

app/config/initializers/time_with_zone.rb

class ActiveSupport::TimeWithZone
  def as_json(options = {})
    to_i
  end
end

这将覆盖所有时间戳转换为 json 时的默认行为。

关于ruby-on-rails - 事件模型序列化器将所有日期转换为秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42259660/

相关文章:

ruby-on-rails - 如何确定 ruby​​/ruby-on-rails 项目需要哪些 gem 和版本?

ruby-on-rails - Rails 初始化程序(使用 JRuby、Puma)at_exit 偶尔不执行

ruby 1.8.7 为什么.to_yaml 将一些字符串转换为不可读字节

ruby-on-rails - 如何将响应格式从 fast_jsonapi 格式更改为 AMS gem 响应格式

ruby-on-rails - Rails/Ember-active_model_serializer-侧面加载时未定义的方法 `object'

ruby-on-rails - 使用事件模型序列化程序为充当可标记标签的标签加载 JSON 时出错

ruby-on-rails - 为实例方法起别名时理解单例类

ruby-on-rails - Rails - 片段缓存不会过期

ruby - 无法安装 Homebrew 软件

ruby-on-rails - Ruby on Rails 项目的设计问题