在Rails视图中显示Ember车把模板

Log*_*man 2 ruby-on-rails ember.js

这是我正在使用的Rails视图:

<%= current_user.name %>
<div class="row-fluid">
  <script type="text/x-handlebars" data-template-name="my-template">
    {{view App.ColumnView}}
  </script>
</div>
Run Code Online (Sandbox Code Playgroud)

当页面呈现时,我希望呈现的模板App.ColumnView显示在行 - 流体div中.相反,它在我的应用程序布局yield声明之外呈现.这是我的应用程序布局(省略<html>块:

<body class="container">
  <header id="page-header">
    <h1>App</h1>
  </header>
  <div class="content">
    <%= yield %>
  </div>
</body>
Run Code Online (Sandbox Code Playgroud)

我的页面最终呈现如下:

<body class="container">
  <header id="page-header">
    <h1>App</h1>
  </header>
  <div class="content">
    <%= yield %>
  </div>
  <div id="ember259" class="ember-view">
     ...
  </div>
</body>
Run Code Online (Sandbox Code Playgroud)

看起来像ember正在将视图附加到<body>标记而不是在我的Rails视图中呈现.有没有办法使用我的Rails视图内联它?

edp*_*aez 5

rootElementEmber应用程序的属性默认为body,所以Ember将所有内容都附加到那里.

您当然可以指定显示所有应用程序的元素

window.App = Ember.Application.create({
  rootElement: '#ember-app'
});
Run Code Online (Sandbox Code Playgroud)

http://emberjs.com/api/classes/Ember.Application.html#property_rootElement

我很高兴这对你有所帮助!