在模型上使用as_JSON从Rails返回JSON响应中Date的非标准格式



我正试图将数据库返回的日期(日期格式)重新格式化为格式化字符串(格式:%m%d%y),以便由单独的客户端应用程序输出。

在客户端格式化它不是一个选项,因为只有网络应用程序在我们的控制之下。

def as_json(options={})
  super(
    :except => [:id, :created_at, :updated_at],
    :include => {
      :children => {
        :except => [:created_at, :updated_at]
      }
    }
  ).merge(:tasks_total => self.tasks_total)
end

我曾尝试使用after_initialize回调,但这只会导致将一个nill值传递给客户端。

非常感谢您的帮助。

为了解决rails强制执行as_json中属性的数据类型的问题,我使用了类似的东西,并添加了一个散列:

def as_json(options={})
  {
    name: name,
    date_of_birth: self.date_format(date_of_birth),
    more_info: more_info,
    children: children.map(&:as_json)
  }
end

date_format调用是因为该模型实际上有多个日期需要以相同的方式进行格式化。

感谢@rbates的帮助。

相关内容

  • 没有找到相关文章

最新更新