Uncaught TypeError: Невозможно прочитать свойство 'find' из неопределенного - EMBER-Data

Я получаю это сообщение об ошибке:

**Uncaught TypeError: Cannot read property 'find' of undefined (13:24:29:797 | error, javascript)** 
at  (public_html/js/libs/ember-data-latest.js:3771:17)
at App.PostsRoute.Ember.Route.extend.model (public_html/js/app.js:16:25)
at superWrapper (public_html/js/libs/ember-1.0.0-rc.3.js:1044:16)
at Ember.Route.Ember.Object.extend.deserialize (public_html/js/libs/ember-1.0.0-rc.3.js:24232:22)
at Router._paramsForHandler (public_html/js/libs/ember-1.0.0-rc.3.js:23204:34)
at doTransition (public_html/js/libs/ember-1.0.0-rc.3.js:23348:27)
at Router.transitionTo (public_html/js/libs/ember-1.0.0-rc.3.js:23105:9)
at doTransition (public_html/js/libs/ember-1.0.0-rc.3.js:23979:25)
at Ember.Router.Ember.Object.extend.transitionTo (public_html/js/libs/ember-1.0.0-rc.3.js:23842:5)
at Ember.LinkView.Ember.View.extend.click (public_html/js/libs/ember-1.0.0-rc.3.js:24899:29)
at Ember.CoreView.Ember.Object.extend.trigger (public_html/js/libs/ember-1.0.0-rc.3.js:14355:21)
at superWrapper (public_html/js/libs/ember-1.0.0-rc.3.js:1044:16)
at Ember.merge.handleEvent (public_html/js/libs/ember-1.0.0-rc.3.js:16907:19)
at Ember.View.Ember.CoreView.extend.handleEvent (public_html/js/libs/ember-1.0.0-rc.3.js:16393:30)
at  (public_html/js/libs/ember-1.0.0-rc.3.js:14113:19)
at  (public_html/js/libs/ember-1.0.0-rc.3.js:4504:19)
at Ember.handleErrors (public_html/js/libs/ember-1.0.0-rc.3.js:411:17)
at invoke (public_html/js/libs/ember-1.0.0-rc.3.js:4502:16)
at tryable (public_html/js/libs/ember-1.0.0-rc.3.js:4687:14)
at Ember.tryFinally (public_html/js/libs/ember-1.0.0-rc.3.js:1199:24)
at Ember.run (public_html/js/libs/ember-1.0.0-rc.3.js:4691:16)
at Ember.EventDispatcher.Ember.Object.extend._bubbleEvent (public_html/js/libs/ember-1.0.0-rc.3.js:14112:18)
at  (public_html/js/libs/ember-1.0.0-rc.3.js:14058:25)
at Ember.handleErrors (public_html/js/libs/ember-1.0.0-rc.3.js:411:17)
at  (public_html/js/libs/ember-1.0.0-rc.3.js:14049:20)
at jQuery.event.dispatch (public_html/js/libs/jquery-1.9.1.js:3074:9)
at elemData.handle (public_html/js/libs/jquery-1.9.1.js:2750:28)

Вот мой app.js:

App = Ember.Application.create();

App.store = DS.Store.extend({
    revision: 12,
    adapter: 'DS.FixtureAdapter'
});

App.Router.map(function () {
    this.resource('posts');
    this.resource('about');
});

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

App.Post = DS.Model.extend({
    id: DS.attr('string'),
    title: DS.attr('string'),
    author: DS.attr('string'),
    intro: DS.attr('string'),
    extended: DS.attr('string'),
    publishedAt: DS.attr('date')
});

App.Post.FIXTURES = [{
        id: '1',
        title: "this is test post",
        author: "Ali",
        publishedAt: new Date('12-24-2012'),
        intro: " A quick brown fox jumps over the lazy dogs. contains all the English alpabet",
        extended: "Their must be some extension for other languages :P :P :P",
    }, {
        id: '2',
        title: "TEST Daily POST",
        author: "Naveed",
        publishedAt: new Date('03-24-2013'),
        intro: " our aims is to touch the new horizons",
        extended: "TESTING , TESTING TESTING",
    }, {
        id: '3',
        title: "TEST2 Daily POST",
        author: "SAJJAD",
        publishedAt: new Date('01-15-2013'),
        intro: " Do Nothing, Get Every thing",
        extended: "We provide an easy way to connect and do business with your customer. We are here to make your life easy.",
    }
];

1 ответ

У меня была такая же проблема из-за расхождений в версиях ember-data-latest.js и ember-1.0.0-rc.3.js.

Решением было создать ember.js / ember-data.js с нуля, используя основную ветку на github.

Предпосылки:

  • ruby 1.9, rubygems, bundler, git, движок javascript (я установил nodejs)

  • nodejs (или другая доступная среда исполнения javascript, см. https://github.com/sstephenson/execjs)

    для среды выполнения nodejs - загрузите последнюю версию двоичного файла / исходного кода для Mac, Linux или Windows с http://nodejs.org/download/ и установите

(1) построить ember.js

git clone https://github.com/emberjs/ember.js ember

cd ember && bundle install

rake dist

(после компиляции смотрите каталог "dist")

(2) построить ember-data.js

git clone https://github.com/emberjs/data.git

cd data && bundle install

rake dist

Надеюсь, это поможет!

Другие вопросы по тегам