私は Ember を初めて使用し、Rails API で構築しようとしています。ただし、現時点では RESTAdapter を有効にしたくありません。Fixture アダプターが期待どおりにデータをロードしていないように見えますが、その理由はわかりません。
たいしたことはしていませんが、ember-rails gem で行うように指示されたブートストラップ コマンドを実行しました。ルート パスに移動すると、クライアントがロードされていないことがわかります。Chrome で Ember プラグインを見ると、すべて問題ないように見えますが、[データ] タブをクリックすると、次のエラーが表示されます。
キャッチされていない TypeError: 未定義の ember.js?body=1:41933 Ember.DataAdapter.Ember.Object.extend.getModelTypes ember.js?body=1:41933 Ember.DataAdapter.Ember.Object.extend のメソッド 'canCatalogEntriesByType' を呼び出せません。 watchModelTypes ember.js?body=1:41726 Ember.Object.extend.messages.getModelTypes VM14057:464 sendEvent ember.js?body=1:2598 Ember.Evented.Ember.Mixin.create.trigger ember.js?body=1 :18317 (匿名関数) VM14057:1596 (匿名関数) VM14057:200 Ember.Object.extend._messageReceived VM14057:199 (匿名関数) VM14057:246 Backburner.run ember.js?body=1:6250 Ember.run ember. js?body=1:6665 (無名関数)
これまでの私のコードは次のとおりです。
店
App.Store = DS.Store.extend({
// Override the default adapter with the `DS.ActiveModelAdapter` which
// is built to work nicely with the ActiveModel::Serializers gem.
adapter: "DS.FixtureAdapter"
});
ルーター
App.Router.map(function() {
this.resource('clients', { path: "/" });
});
ルート
App.ClientsRoute = Ember.Route.extend({
model: function(){
return this.store.all('client');
}
});
コントローラ
App.ClientsController = Ember.ArrayController.extend({
});
モデル
App.Client = DS.Model.extend({
name: DS.attr('string'),
url: DS.attr('string')
});
App.Client.FIXTURES = [
{
name: "ACME Homes",
url: "www.acmehomes.com"
}
];
テンプレート
<div class="row">
<div class="col-md-4">
<h1>Clients</h1>
{{#each client }}
{{name}}
{{else}}
<p>No clients, silly goose.</p>
{{/each}}
</div>
</div>
どんな助けでも大歓迎です!