0

私は、JSON サーバーで Ember を使用して実験してきましたが、ember-data は使用していません。私のテスト アプリは、(小さな Go サーバーから生成された) 小さな JSON 構造から画像のディレクトリをレンダリングします。

以下のコードで App.FileController のコメントを外すと、対応するファイルビューがレンダリングに失敗する理由を誰かに説明できますか?

window.App = Ember.Application.create();

App.Router.map(function() {
  this.resource('files',function(){
    this.resource('file',{path:':file_id'});
  });
});

App.FilesRoute = Ember.Route.extend({
  model: function() {
    return App.File.findAll();
  }
});

App.FileRoute = Ember.Route.extend({
    setupController: function(controller, args) {
        controller.set('model', App.File.find(args.id));
    },
    model: function(args) {
        return App.File.find(args.file_id);
    }
});

App.File = Ember.Object.extend({
    urlPath: function(){
      return "/pics/" + this.get('id');
    }.property('id'),   
});

これをコメント解除すると、問題が発生します。

// App.FileController = Ember.Controller.extend({

// });

(つまり、ファイル サブビューはまったくレンダリングされなくなります。)

App.File.reopenClass({
    find: function(id){
        file = App.File.create({'id':id});
        return file;
    },

    findAll: function() {
        return $.getJSON("http://localhost:8080/api/").then(
            function(response) {
                var files = [];
                response.Files.forEach(function (filename) {
                    files.push(App.File.create({'id':filename}));
                });
                return files;
            }
        );
    },

});

また、ここで間違っている基本的なことはありますか?

4

1 に答える 1