いろいろ調べてみましたが、socket.io も使用している ember (1.0.0-rc.1) と ember-data (revision 11) の最新の例が見つかりません。私はこのようなことを試しました。
App.ApplicationRoute = Ember.Route.extend({
setupController: function(controller, data) {
var socket = io.connect(),
self = this;
socket.on('apartment/new', function(apartment) {
var apt = App.Apartment.createRecord(apartment);
self.controllerFor('apartments').pushObject(apt);
});
}
});
これにより、実際には新しいモデル クラスが作成され、オブジェクトがコントローラーにプッシュされ、新しい li が作成されますが、値はレンダリングされません。
<ul class="list-view">
{{#each apartment in controller}}
<li>
{{#linkTo 'apartment' apartment }}
<span class="date">{{date apartment.date}}</span>
{{apartment.title}}
{{/linkTo}}
</li>
{{/each}}
</ul>
これは実行ループと関係がありますか? 値を強制的にレンダリングするにはどうすればよいですか? または、これに対するより良いアプローチはありますか?