Интеграция HAML с RSPEC - PullRequest
       54

Интеграция HAML с RSPEC

4 голосов
/ 13 апреля 2011

У меня было около 11 тестов Rspec, пока я не преобразовал свой проект в HAML.Затем, когда я запустил свои тесты, я получил такие ошибки, как:

ActionView::MissingTemplate: Missing template pages/home with {:handlers=>[:erb, :rjs, :builder, :rhtml, :rxml], :formats=>[:html], :locale=>[:en, :en]} in view paths "/Users/myhomedirectory/my_app/app/views"
/Users/myhomedirectory/.rvm/gems/ruby-1.9.2-p180@global/gems/actionpack-3.0.6/lib/action_view/paths.rb:15:in `find'
/Users/myhomedirectory/.rvm/gems/ruby-1.9.2-p180@global/gems/actionpack-3.0.6/lib/action_view/lookup_context.rb:81:in `find'

45 минут после публикации моего исходного вопроса, я решил свою собственную проблему, добавив следующие строки в мой файл /config/application.rb:

config.generators do |g|
  g.template_engine :haml
end

Я собрал это вместе с полусвязанной в блоге записью , но мне интересно, как, черт возьми, кто-нибудь узнает, как это сделать?Насколько я могу судить, это не задокументировано в HAML, поэтому мне остается только задуматься, не сделал ли я что-то не так, когда установил его.Я не могу представить, чтобы все, кто использовал HAML, проходили через все это ...

Ответы [ 2 ]

2 голосов
/ 10 июня 2013

У меня была та же проблема, когда RSpec не находил шаблоны вида действия, написанные на хамле. Затем я понял, что тестовая среда не рассматривает haml как движок рендеринга:

Missing template pages/home with {:handlers=>[:erb, :rjs ...

Итак, я исправляю это, добавляя гем haml-rails в группу тестов.

Таким образом, если у вас та же проблема, я рекомендую:

group :development, :test do
  gem 'rspec-rails'
  ...
  gem 'haml-rails'
end
2 голосов
/ 21 мая 2011

Я не мог понять, как добавить комментарий к исходному вопросу (как Робзолкос и Дэйв сделали выше) и, таким образом, используя этот раздел «ответа».Я переименовал пустой erb в haml и провел тесты.Однако, в моем случае, проблема заключалась в том, что в Gemfile отсутствовал «gem haml».Добавление, а затем «установка пакета» решило проблему для меня.Просто подумайте, что здесь будет опубликовано, поскольку это может быть полезно для кого-то.Мне не нужно было добавлять материал "g.template_engine: haml", как должен был Дейв.

...