0

我在示例 Rails 应用程序中运行了一些工作蛋白石代码,我正在尝试围绕它编写一些 rspec 测试。

一切都设置好了,我可以做一些基本的事情,但是在我的代码中我使用模板,我似乎无法设置加载路径来查找/编译模板。

所以我有例如

mylibs ->
  some_lib ->
    some_lib.js.rb
    some_libs_template.opalerb

在 some_lib.js.rb 我有

require 'template'
#...
#...
  puts "Template.paths: #{Template.paths}"

打印“Template.paths:”

即没有模板。

从 rails 应用程序中调用相同的代码时可以正常工作,所以我假设我需要做一些事情,以便模板编译器在测试环境中工作?

注意我已经使用 Opal.append_path 设置了加载路径,它似乎可以正常工作,因为我实际上可以需要 .js.rb 文件,而不是同一目录中的模板。

4

1 回答 1

1

答案是,在 rails 应用程序内部,模板正在被编译,因为它们位于 require 树中。

在测试中,我只需要明确要求每个模板。

于 2015-01-26T19:33:13.470 回答