0

I'm attempting to reformat a date being returned by from the database (Date format) as a formatted string (format: %m%d%y) in order for it to be output by a separate client application.

Formatting it on the client side is not an option as only the web app is under our control.

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

I've attempted to use a after_initialize callback, however that simply result in a nill value being passed to the client.

Any help much appreciated.

4

1 に答える 1

0

as_json の属性にデータ型を強制する Rails の問題を回避するために、代わりに次のようなハッシュを使用しました。

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に感謝します。

于 2013-02-07T14:50:09.203 に答える