我目前正在从ActiveRecord的as_json
切换到RABL以生成API。
as_json
一直在我的模型中将时间戳呈现为格式2012-09-16T22:14:11+00:00
的字符串。但是,当我切换到RABL时,时间戳开始呈现为像1347926218.084763000
这样的纪元数字(注意这些日期来自两个不同的对象,并且不应该相等)。有没有办法强制使用字符串格式?
我的.rabl模板非常简单:
object @person
attributes :id, :created_on, :name
我得到了:
{"id":3,"created_on":1347926218.084763000,"name":"fred"}
答案 0 :(得分:4)
object @person
node(:id){|person|(person.id)}
node(:created_on){|person|(person.created_on.strftime(%d,%m,%Y)}
node(:name){|person|(person.name)}
end
或尝试
object @person
attributes :id, :name
node(:created_on){|person|(person.created_on.strftime(%d,%m,%Y)}
end
您可以在许多网站上找到.strftime()的更多选项。它必须用于:date对象类型。您可以使用它的选项自定义日期输出。我正在研究一些json输出的自定义节点,我正在学习这个方法!
如果您需要按特定顺序使用属性,我会使用带有节点的属性,因为属性似乎“浮动到创建的json对象的顶部”。