使用HAML而不是ERB会导致测试失败

时间:2017-03-03 13:07:44

标签: ruby-on-rails ruby haml ruby-on-rails-5 erb

这看起来非常基本,但我使用Rails 5并且我将所有视图都交换为YAML而不是ERB。现在,我的一项测试未能说出以下内容:

ActionController::UnknownFormat: ProductsController#index is missing  a template for this request format and variant.

request.formats: ["text/html"]
request.variant: []
    test/controllers/products_controller_test.rb:9:in `block in <class:ProductsControllerTest>'

是否有任何地方可以更改默认设置,还是有其他问题需要解决?我的路线很好,我可以访问索引页面没问题。

4 个答案:

答案 0 :(得分:1)

似乎您错过了index.html.haml

中的视图文件app/views/products

答案 1 :(得分:1)

您需要安装haml,将gem 'haml'添加到Gemfile中,然后在控制台中添加bundle install

答案 2 :(得分:0)

这意味着控制器中#index方法缺少的模板。 Rails有一个约定,它将按照名称约定在/views/目录中搜索此文件以及相关的html.erb或haml文件。

答案 3 :(得分:0)

我看到了同样的问题,我们的解决方案是将 haml gem 添加到 developmentGemfile 组中,确保与 haml 相关的 gem 不在组中