【问题标题】:Ember.js asset pipeline “Unable to find template”Ember.js 资产管道“找不到模板”
【发布时间】:2012-02-24 14:50:27
【问题描述】:

我无法在 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'

在 Rails 方面,我在 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

最后,模板位于:

app/assets/javascripts/app/templates/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/show”。

我很困惑为什么它在我指定的情况下寻找 hjs.js 文件以及为什么找不到模板。

谁能看出我做错了什么?

【问题讨论】:

    标签: coffeescript ember.js handlebars.js


    【解决方案1】:

    将文件扩展名从 .jst.hjs 更改为仅 .hjs 解决了问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-19
      • 1970-01-01
      • 2012-02-10
      • 2016-05-15
      • 2017-12-08
      • 1970-01-01
      • 1970-01-01
      • 2019-10-29
      相关资源
      最近更新 更多