我正在尝试将数据库(日期格式)返回的日期重新格式化为格式化字符串(格式:%m%d%y),以便由单独的客户端应用程序输出。
在客户端进行格式化不是一种选择,因为只有Web应用程序在我们的控制之下。
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值传递给客户端。
任何帮助都非常感激。
答案 0 :(得分:0)
为了解决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的帮助。