Ember.js资产管道“无法找到模板”

时间:2012-02-01 22:05:14

标签: coffeescript ember.js handlebars.js

我无法在rails 3.1中访问我的把手模板。我有以下控制器:

Lead.Controllers.UrlSearch = Ember.Object.extend
  init: ->
    view = Ember.View.create
      controller: @
      urlSearchBinding: 'controller.url_search'
      templateName: 'app/templates/url_search/show'

在轨道方面,我在config / initializers / sprockets.rb中有以下初始化脚本

require 'sprockets/ember_handlebars'

Rails.application.assets.register_engine 'hjs', EmberHandlebars

我的EmberHandleBars看起来像这样:

require 'tilt'
require 'json'

class EmberHandlebars < Tilt::Template
  def self.default_mime_type
    "application/javascript"
  end

  def prepare
  end

  def evaluate(scope, locals, &block)
    "Ember.TEMPLATES['#{scope.logical_path}'] = Ember.Handlebars.compile(#{data.to_json})"
  end
end

最后,模板位于:

  

应用程序/资产/ Javascript角/应用/模板/ url_search / show.jst.hjs

在错误控制台中,我收到404资源错误:

GET
http://localhost:3000/assets/app/templates/url_search/show.hjs.js?body=1
404 (Not Found)

以及

  

错误: - 无法找到模板   “应用程序/模板/ url_search /显示”。

我很困惑,为什么在我另外指定时查找hjs.js文件以及为什么找不到该模板。

谁能看到我做错了什么?

1 个答案:

答案 0 :(得分:1)

将.jst.hjs文件扩展名更改为.hjs修复了问题。