2

私は現在、as_jsonAPI生成のためにActiveRecordからRABLに切り替える過程にあります。

as_json私のモデルのタイムスタンプをフォーマットの文字列としてレンダリングしています2012-09-16T22:14:11+00:00。ただし、RABLに切り替えると、タイムスタンプは次のようなエポック番号としてレンダリングを開始しました1347926218.084763000(これらの日付は2つの異なるオブジェクトからのものであり、同じではないことに注意してください)。文字列形式を強制する方法はありますか?

私の.rablテンプレートは非常に単純です。

object @person
attributes :id, :created_on, :name

そして私は得る:

{"id":3,"created_on":1347926218.084763000,"name":"fred"}
4

1 に答える 1

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オブジェクトの「上に浮いている」ように見えるため、ノードのある属性を使用します。

于 2012-11-05T19:05:16.940 に答える