类型为 'text/x-handlebars' 的脚本标签在通过 Capybara 测试时从页面中消失



项目设置:
服务器:Rails & Haml
测试:水豚 - 黄瓜 - 恶作剧者 - 幻影
客户端:Ember.js

有一个页面仅使用 Ember 的一个组件(没有加载路由控制器模型的全栈),并且由于某种原因,带有此组件模板的脚本标记不会呈现在页面上,仅在测试中。
如果手动测试,组件在页面上运行良好,不显示错误或警告。如果类型与"文本/x 车把"不同,则将其呈现。其他 Ember 页面没有这样的问题。

示例标记:

_form.html.哈姆尔

=render 'ember/templates/components/foo_bar'
.row  
  .span12
    <form markup>

余烬/模板/组件/foo_bar.html.haml

%script{type: 'text/x-handlebars', data:{'template-name' => 'components/foo-bar'}}  
  .input-append  
    <template markup>

如何在页面上呈现此模板?

只是一个解决方法而不是解决方案,但对我有用:

Haml 替换为手推杆 (.hbs) 模板
模板已移至"模板"文件夹
"模板"文件夹已添加到应用程序.js清单
Ember-rails完成剩下的工作 - 编译并将车把代码包含在页面中

只需添加'js: true'

it 'tests the script on presence', js: true do
  . . .
end

相关内容

最新更新