1

ember の実行に取り組んでいるため、ハンドルバー テンプレートをアセット パイプライン経由でロードできません。私は handlebars_assets ジェムを使用しています。サーバーにアクセスすると、以下のものが表示され、パスが正しいことを確認しましたが、これを修正する方法がよくわかりません。handlebars.runtime が必要な場合:

couldn't find file 'handlebars.runtime'
  (in /Users/tspore/Rails/Active/tombfinder/app/assets/javascripts/app/ember_app.js:1)

Cache read: sprockets/6f42a4ba0f2b80167ce50f9f306427fa
Compiled app/ember_app.js  (5ms)  (pid 9791)
Cache read: sprockets/764613d8100bb6d8e6072701f79183c1
Completed 500 Internal Server Error in 141ms

ActionView::Template::Error (can't convert nil into String
  (in /Users/tspore/Rails/Active/tombfinder/app/assets/javascripts/app/templates/records/index.hbs)):
    26:   <% end %>
    27: 
    28: 
    29:   <%= javascript_include_tag 'app/ember_app' %>
    30: </head>
    31: <body class="<%= @class %>">
    32: <div id="center">
  app/views/layouts/js.html.erb:29:in `_app_views_layouts_js_html_erb__854441834177334479_70351597254240'
  app/controllers/js/js_controller.rb:3:in `index'

Rendered /Users/tspore/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.1.10/lib/action_dispatch/middleware/templates/rescues/_trace.erb (0.9ms)
Rendered /Users/tspore/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.1.10/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (0.6ms)
Rendered /Users/tspore/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.1.10/lib/action_dispatch/middleware/templates/rescues/template_error.erb within rescues/layout (3.0ms)

編集: Github バージョンを使用し、:assets から gem を削除した後、動作するようです。しかし、今、私はこのエラーが発生しています -

Uncaught ReferenceError: HandlebarsTemplates が定義されていません records_view.js:4 Uncaught Error: assertion failed: Unable to find view at path 'App.listRecordsView'

私のアプリケーションは次のようになります -

App.listRecordsView = Ember.View.extend({
   templateName: HandlebarsTemplates['records/index'](context)
});

ember-rails gem を使用して、gem をコンパイルするようにしたので、layout.js というスクリプトが次のようになります。

Ember.TEMPLATES["app/templates/controller/layout"] = Ember.Handlebars.template(function anonymous(Handlebars, depth0, helpers, partials, data) { helpers = helpers || Ember.Handlebars.helpers; data = data || {};
  var buffer = '', stack1, hashTypes, escapeExpression=this.escapeExpression;    
  data.buffer.push("<h1>from template</h1>\n");
  stack1 = {};
  hashTypes = {};
  stack1 = helpers._triageMustache.call(depth0, "outlet", {hash:stack1,contexts:[depth0],types:["ID"],hashTypes:hashTypes,data:data});
  data.buffer.push(escapeExpression(stack1) + "\n");
  return buffer;
});

Ember アプリでこのテンプレートを呼び出すにはどうすればよいですか? 言う名前空間はありません: templateName: 'layout'

4

0 に答える 0