やりたいこと
独自フォーマットの日付項目が含まれているデータをRESTfulなAPIでやりとりする。
環境/前提とか
ember-cliを使って Emberの開発をしていることとします。
- ember-cli
- 0.2.7
- ember
- 1.10.0
- ember-data
- 1.0.0-beta.15
方法
DS.attr
の種別を新しく用意して、その種別に対するtransform
を実装してあげれば実現できます。
手順とか
- 種別の名前を決めます。ここでは
myDatetime
とします。 - transformのひな形を作成します。
- transformを実装します。
- model定義の際、決めた種別を利用します。
$ ember generate transform myDatetime
transforms/my-datetime.js
// お好きなフォーマットをご利用下さい。
var FORMAT = 'YYYY-MM-DD HH:mm:ss';
export default DS.Transform.extend({
deserialize: function(serialized) {
if (serialized) {
return moment(serialized, FORMAT).toDate();
}
return serialized;
},
serialize: function(deserialized) {
if (deserialized) {
return moment(deserialized).format(FORMAT);
}
return deserialized;
}
});
models/hoge.js
export default DS.Model.extend({
created_at: DS.attr('myDatetime')
});
参考(いちおう)
ソースコード中のmomentとはこれです。