2

私は ember で簡単な REST API セットアップを行おうとしていますが、正しいエンドポイントにヒットさせることができません。あらゆる種類の試みを無駄にしましたが、私のコードは現在次のようになっています。

window.App = Ember.Application.create({
    LOG_TRANSITIONS: true,
    LOG_TRANSITIONS_INTERNAL: true
});

App.ApplicationAdapter = DS.RESTAdapter.extend({
    host: 'http://myserver.com'
});

/* Setup routes */

App.Router.map(function() {
  this.route("bar");
});

App.BarRoute = Ember.Route.extend({
    model: function() {
        return this.store.findAll('bar');
    }
});

私が持っているメインのインデックス テンプレートでは{{#link-to "bar"}}Bars{{/link-to}}、リンクをクリックすると (ページをローカルで実行している)、コンソールに次のように表示されます。

OPTIONS file://localhost/bars  

何を試しても、常に相対 URL を使用しており、期待どおりにホストのプレフィックスを付けていません。行の ember_data.js にブレークポイントを配置すると、それが「/bars」Ember.$.ajax(hash);であることがわかります。hash.urlここで何が欠けていますか?

4

3 に答える 3

3

次のように、 AdapterStoreに設定することを忘れないでください。

App.Adapter = DS.RESTAdapter.extend({
    host: 'http://www.yourdomain.com',
    namespace: 'url/path/to/app'
});

App.Store = DS.Store.extend({
    adapter: App.Adapter
});

それが役に立てば幸い

この回答は、ember-data をバージョン 1.0.0-beta2 にアップグレードした後に機能しました。ガイドに従っているある段階で、古いリリースになってしまい、それ以来破壊的な変更がありました。

于 2013-09-27T12:37:49.343 に答える
1

Ember アプリをローカル ファイルシステムから実行しようとしていますか? file:///... リモート AJAX 呼び出しを機能させるには、何らかのローカル サーバーを使用して http (または https) 経由でアプリにアクセスする必要があります。

于 2013-09-27T22:17:06.343 に答える
0

データモデルを設定してから、このモデルのアダプターを接続する必要があると思います。

App.BarAdapter = DS.RESTAdapter.extend({
    host:'http://myserver.com',
});

App.Bar = DS.Model.extend({
  author: DS.attr('string'),
  title: DS.attr('string'),
});
于 2013-09-27T11:12:19.533 に答える