1

私は Ember-Rails を使用して、Beckend 用の Rails API を備えた Ember フロントエンド アプリを構築しています。私は認証の実装に取り​​組んでおり、次のエラーに到達しました: Cannot read property 'extend' of undefined次のようにルートを拡張しようとすると:

App.AdminRoute = App.AuthenticateRoute.extend({
    model: function(params) {
        return this.store.find('user', params.id);
    },
});

そして、AuthenticateRoute を次のように定義しました。

App.AuthenticateRoute = Ember.Route.extend({
    //yada yada
});

私は多かれ少なかれ以下にあるガイドに従っていました: http://www.embercasts.com/episodes/client-side-authentication-part-2

これが機能しない理由はわかりませんが、AuthenticateRouteが他のルートから拡張できることに気付きました。これは非常に奇妙です。

4

1 に答える 1

2

ほとんどの人が知っているように、Ember-Rails はこれらすべてのファイルを目にすることなくプリコンパイルします (Barber gem と思われるものを使用します)。私が考えていなかったのは、これらすべてのファイルを結合すると、(私が知る限り)アルファベット順に配置されるということです。そのため、 myは宣言される前にAdminRoute拡張すると宣言されていたため、エラーが発生しました。これを解決する方法はまだわかりません--AuthenticateRouteAuthenticateRoute

  • 単純な修正は、単純にファイル名を からadmin_route.jsに変更することです。したがって、ファイル名は のzadmin_route.jsauthenticate_route.jsにありますが、これは明らかな理由から望ましくありません。
  • または、フラグをオフに設定して、Ember-Rails でのプリコンパイルをオフにすることもできます。(これを参照)

誰かが優れた代替手段を持っている場合は、以下にコメントしてください。そうでない場合は、解決策を見つけたときにこれを更新します.

于 2014-06-16T20:22:06.463 に答える