1

長いリストを避けるために、ビューをパッケージ/フォルダーに整理したいと考えています。(素晴らしい) 新しいルーターでは、既定でビューが提供されます。これは、規則名を使用して新しいルーターを作成することで変更できます。例えば:

match('/').to('home');

用途:

  • 「ホーム」ハンドルバー テンプレート
  • App.HomeView
  • App.HomeController

今私は使いたい:

  • 「my_package/home」ハンドルバー テンプレート (動作)
  • App.MyPackage.HomeView
  • App.MyPackage.HomeController

gem "ember-rails" (GIT バージョン) とジェネレーターを使用する場合:

rails g ember:view my_package/home

私は得る:

DemoEmberRails.MyPackage::HomeView = Ember.View.extend({
});

これは正しい JavaScript コードではありません (Ruby コードの抜粋のようです)。

私は試した:

DemoEmberRails.MyPackage = {};
DemoEmberRails.MyPackage.HomeView = Ember.View.extend({
});

ただし、ルーターでは使用されません。

どうやってするか?

4

3 に答える 3

0

Ember.Namespace を使用して名前空間を作成する必要があると思います。ルーターが名前空間を自動的に検索するかどうかはまだわかりませんが、可能性はありますか?

http://emberjs.com/api/classes/Ember.Namespace.html

于 2013-01-05T11:18:39.473 に答える
0

これは現在サポートされていないようですが、この機能を追加するためのプル リクエストが存在します。

参照: https://github.com/emberjs/ember.js/pull/1679

于 2013-01-06T22:15:42.460 に答える
0

あなたが言ったように

match('/').to('home');

AppName.HomeRouteAppName.HomeViewおよび を期待しAppName.HomeControllerます。したがって、次のようなテンプレートとdata-template-name="home"ビューがある場合

AppName.HomeView = Ember.View.extend({
  teplateName: 'home'
});

/次に、ember はルートをこのビューに自動的に接続します。

ここでは、新しいember ルーティング ガイドが非常に役立ちます。

于 2013-01-05T11:49:34.847 に答える