0

Ember-Brunch (元のリポジトリ: https://github.com/icholy/ember-brunch ) を最新の EmberJS および EmberJS-Data フレームワークに更新しようとしています。私が抱えている現在の問題は、元の Bob モデルを でDS.Modelを使用してDS.FixtureAdapterに変換しようとしていることですDS.Store。しかし、何をしようとしても、データを表示する際に問題が発生します。ここにいくつかの試みがあります:

ルートで:

App.BobRoute = Ember.Route.extend({
    model: function() { 
        return App.Bob.find();
    }
});

次のエラーが表示されます。

キャッチされていない TypeError: null のメソッド 'hasOwnProperty' を呼び出せません

そして、このルートに切り替えると:

App.BobRoute = Ember.Route.extend({
    setupController: function() {
        App.BobController.set('content', App.Bob.find());
      }
});

次のエラーが表示されます。

Uncaught TypeError: Object App.BobController has no method 'set' app.js:184 Uncaught TypeError: null のメソッド 'hasOwnProperty' を呼び出せません

何か案は?

私の現在の作業https://github.com/seankeating/ember-brunchと、DS.Model-Implementation-For-Using-Local-DSStore ブランチでこれを行う試みを確認できます。

店:

App.Store = DS.Store.extend({
  revision: 11,
  adapter: DS.FixtureAdapter.create()
});

コントローラ:

App.BobController = Em.ObjectController.extend({

});

モデル:

var App = require('app'),
    attr = DS.attr;

App.Bob = DS.Model.extend({

    firstName : attr('string'),
    lastName  : attr('string'),
    lyrics    : attr('string'),

    fullName: function(){
        return this.get('firstName') + ' ' + this.get('lastName');
    }.property('firstName', 'lastName')

});

App.Bob.FIXTURES = [{
    firstName: 'bob',
    lastName: 'marley',
    lyrics: 'no woman no cry!'
}];

テンプレート:

<h2>{{fullName}}'s page!</h2>
<button class="btn btn-success" {{action doClick target="view"}}>click me</button>
{{#linkTo home}}<button class="btn" {{action doHome}}>go back home</button>{{/linkTo}}
4

1 に答える 1

2

bc755f9より前は、フィクスチャ キーを文字列として提供する必要がありました。これは、Ember Data がそれらを内部的に保存する方法です。

これで、数値または文字列をフィクスチャ ID として使用でき、すべてが期待どおりに機能します。

これとは別に、開発中は常に Ember.js のデバッグ ビルドを使用する必要があります。これにより、何か問題が発生した場合に、はるかに優れたエラー メッセージが表示されます。ea6922fの時点で、Ember.js の製品ビルドは、localhostまたはで実行している場合に警告を発します127.0.0.1

于 2013-01-13T05:09:37.777 に答える