找不到“”;应用程序“;模板或视图.任何东西都不会被渲染Emberjs RailsAPI
Could not find "application" template or view. Nothing will be rendered Emberjs RailsAPI
我一直在试图找到一个答案或解决一个看起来很简单的问题。
我最近启动了RailsAPI应用程序。我决定玩EmberJS,并遵循最近在这里找到的教程
当我转到应用程序的索引页时,我看到的只是一个空白屏幕,我的模板不会呈现。由于某种原因,Ember似乎找不到我的模板。
以下是我在控制台中看到的内容:
DEBUG: ------------------------------- ember-1.0.0.js?body=1:394
DEBUG: Ember.VERSION : 1.0.0 ember-1.0.0.js?body=1:394
DEBUG: Handlebars.VERSION : 1.0.0 ember-1.0.0.js?body=1:394
DEBUG: jQuery.VERSION : 1.9.1 ember-1.0.0.js?body=1:394
DEBUG: ------------------------------- ember-1.0.0.js?body=1:394
generated -> route:application Object {fullName: "route:application"} ember-1.0.0.js?body=1:394
generated -> route:index Object {fullName: "route:index"} ember-1.0.0.js?body=1:394
generated -> controller:application Object {fullName: "controller:application"} ember-1.0.0.js?body=1:394
Could not find "application" template or view. Nothing will be rendered Object {fullName: "template:application"} ember-1.0.0.js?body=1:394
generated -> controller:index Object {fullName: "controller:index"} ember-1.0.0.js?body=1:394
Could not find "index" template or view. Nothing will be rendered Object {fullName: "template:index"} ember-1.0.0.js?body=1:394
Transitioned into 'index' ember-1.0.0.js?body=1:394
=> Ember.TEMPLATES
# Object {}
正如您所看到的,Ember.TEMPLATES是空的。我当前的应用程序结构看起来像这个
Dojo
- app
- assets
- javascripts
- templates
- application.hbs
- index.hbs
- application.js.coffee
- router.js.coffee
- controllers
依此类推,我将根据需要进行更新。它几乎是一个基本的Rails应用程序。
以下是我的相关文件的样子:
application.js.coffee
#= require jquery-1.9.1
#= require handlebars-1.0.0
#= require ember-1.0.0
#= require ember-data
#= require_self
#= require router
#= require_tree ./models
#= require_tree ./controllers
#= require_tree ./views
#= require_tree ./templates
#= require_tree ./routes
window.AppDojoApi = Ember.Application.create
LOG_TRANSITIONS: true
LOG_BINDINGS: true
LOG_ACTIVE_GENERATION: true
LOG_VIEW_LOOKUPS: true
console.log Ember.TEMPLATES
模板/应用程序.hbs
<div class='container'>
<div class='content'>
<div class='row'>
<div class='span12'>
<div class='page-header'></div>
{{outlet}}
</div>
</div>
</div>
</div>
</div>
模板/索引.hbs
<h1> Hello World </h1>
所有必要的文件(ember、handlers、jQuery)都被正确呈现,因为我在控制台中没有看到任何错误,它们都在生成的HTML中。
我正在使用gem handlebar_assets
编译AssetsPipeline
的资产,并且模板正在正确生成。
为什么ember找不到模板?感谢的帮助
UPDATE如果有人感兴趣的话,下面是源代码https://github.com/AppDojo/AppDojo-API/tree/ember-railsapi
解决方案
设置HandlebarsAssets::Config.ember = true
将模板的正确模板存储设置为Ember.TEMPLATES
。我错过了Handlebars的一个s
。。。
我想你的问题在于,handlerbus模板文件的扩展名应该是.hbs
而不是.hb
,试着将你的模板重命名为:
index.hbs
application.hbs
foo.hbs
...
希望能有所帮助。
相关文章:
- Emberjs应用程序加载在除Index之外的所有路由上
- EmberJS中支持单字母单词模型
- EmberJS-适用于各种模型的适配器动态名称空间
- 我的组件的Emberjs特定的SCSS文件
- 如何在emberjs中使用幻影假数据进行分页
- Emberjs#每个循环不处理数组数据
- 如何设置EmberJS组件的上下文
- 通过emberJS中的控制器修改组件的属性
- EmberJS无法找到视图异常
- EmberJs-将所有来自子组件的操作路由到父组件,再路由到父控制器
- EmberJS and REST
- 搜索引擎可爬网应用程序的EmberJS技术堆栈
- 升级emberjs-script以支持最新版本
- emberjs一次获取所有表单字段/值
- EmberJS:在成功处理请求时解决承诺
- EmberJS:动态插入组件
- EmberJs - 从模态冒泡动作
- Emberjs - 将参数动态绑定到视图
- EmberJS - 在创建对象后添加绑定
- 找不到“”;应用程序“;模板或视图.任何东西都不会被渲染Emberjs RailsAPI