【发布时间】: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