2015-08-31 4 views
2

У меня есть вид на app/views/debtors/index.html.erb, который делает общий частичный, расположенный по адресу app/views/application/_advanced_search.html.erb.Обрезание общего частичного вида в представлении spec в Rails

Я хотел был бы испытать взгляд index но также должен заглушить вышеуказанное частичное. Как я могу это достичь? Я пробовал:

  • stub_template '_advanced_search' => 'Stubbed', но частичное не было найдено;
  • stub_template '_advanced_search.html.erb' => 'Stubbed', то же, что и выше;
  • view.lookup_context.view_paths.push 'app/views/application' и stub_template '_advanced_search' => 'Stubbed', но затем он начал жаловаться на неопределенную переменную, используемую в частичном.

Я также попытался использовать полный путь к частичной, но все равно не повезло, он начал говорить, что частичное отсутствует.

Каков правильный способ обрезания общего частичного в приложении Rails?

+0

Как насчет приложения 'stub_template '/ _advanced_search' => 'x''? – dax

+0

В нем говорится, что частичное отсутствует. Он выглядит в '/ home/user/project/app/views', а затем в' application/_advanced_search_controls' и 'application/_advanced_search'. – linkyndy

+0

странно ... вы можете видеть [реализацию] (https://github.com/rspec/rspec-rails/blob/a2a37ee192828ee81084d966e6f2f6f68d9773c0/lib/rspec/rails/example/view_example_group.rb#L73) просто подталкивает ваш заглушку к началу массива путей представления. возможно, попробуйте взглянуть на этот массив путей просмотра? в противном случае я бы догадался, что это рельсы autoload 'magic', запутанные. – dax

ответ

0

Иногда Ruby говорит, что «Partial not found», потому что в вашем частичном файле, по-видимому, есть некоторая ошибка, некоторая ошибка Ruby.

Я предлагаю вам сначала отобразить любой жесткий код html, который не содержит кода Ruby, и, если он работает, в вашей частичной части есть некоторая ошибка.

Я также столкнулся с этой проблемой ранее.

+0

Я в настоящее время использую это частично в течение некоторого времени, но у меня не было никаких тестов для просмотров. Теперь я начал писать мнения и ударил эту проблему. Поэтому я не думаю, что есть проблема с частичным. – linkyndy