3

私は Ember.js を既存の Rails アプリに統合しようとしています。Ember を単一のコントローラー アクションに使用することから始めたいと思いますdashboard#index。そこから、おそらくコントローラーごとに、サイトの残りの部分を ember アプリケーションに統合することを計画しています。

しかし、Rails ルート ルートの制御を Ember に委譲する準備ができていないため、ember URL の管理に問題があります。

たとえば、Ember を使用せずに、次のルートを Rails で処理したいと考えています。

/
/login
/logout

その間:

/dashboard

Ember アプリケーションをトリガーする必要があります。/dashboard/#/favorites次に、やなどのさまざまな ember ダッシュボード ルートがあります。dashboard/#/upcoming

アセット パイプラインを介した別の Rails レイアウトとパスが問題なく設定されていますが、ember ルートprefix/dashboard/.

これを設定するきれいな方法はありますか?

ありがとう

4

1 に答える 1

0

アプリケーションのレイアウトを無視するように、dashboardコントローラーセット内に。layout false

次に、dashboard/index.html.erbファイルを作成して独自のレイアウトを作成し、ember アプリケーションを含めます。次のようになります。

<!DOCTYPE html>
<html>
<head>
  <title>ember app</title>
  <%= stylesheet_link_tag  "application" %>
  <%= csrf_meta_tags %>
</head>
<body>
<%= javascript_include_tag "ember_app" %>
</body>
</html>

次に、次のようなassets/javascripts/ファイルが必要です。ember_app.js

//= require handlebars
//= require ember
//= require ember-data
//= require_self
//= require ./store
//= require_tree ./models
//= require_tree ./controllers
//= require_tree ./views
//= require_tree ./helpers
//= require_tree ./components
//= require_tree ./templates
//= require_tree ./routes
//= require ./router
//= require helpers

# for more details see: http://emberjs.com/guides/application/
window.DashboardApp = Ember.Application.create() 

私が使用した良いリソースはember-railsgemです。ドキュメントも充実しています。

于 2014-02-06T17:54:48.250 に答える