J'ai une vue à app/views/debtors/index.html.erb
qui rend un partiel partiel situé à app/views/application/_advanced_search.html.erb
.Stubbing une commune partielle dans une spécification de vue dans Rails
Je voudrais tester la vue index
mais aussi besoin de talonner le partiel ci-dessus. Comment puis-je atteindre cet objectif? J'ai essayé:
stub_template '_advanced_search' => 'Stubbed'
, mais le partiel n'a pas été trouvé;stub_template '_advanced_search.html.erb' => 'Stubbed'
, le même que ci-dessus;view.lookup_context.view_paths.push 'app/views/application'
etstub_template '_advanced_search' => 'Stubbed'
, mais alors il a commencé à se plaindre d'une variable indéfinie utilisée dans le partiel.
J'ai également essayé d'utiliser le chemin complet vers le partiel, mais toujours pas de chance, il a commencé à dire que le partiel est manquant.
Quelle est la bonne façon de céder une partie commune dans une application Rails?
qu'en est-il de l'application 'stub_template '/ _advanced_search' => 'x''? – dax
Il dit que le partiel est manquant. Il regarde dans '/ home/user/project/app/views' et ensuite dans' application/_advanced_search_controls' et 'application/_advanced_search'. – linkyndy
bizarre ... vous pouvez voir [la mise en œuvre] (https://github.com/rspec/rspec-rails/blob/a2a37ee192828ee81084d966e6f2f6f68d9773c0/lib/rspec/rails/example/view_example_group.rb#L73) est juste en poussant votre talon au début du tableau des chemins de vue. peut-être essayer de regarder ce tableau de chemins de vue? sinon je devinerais que les rails se chargent automatiquement de la magie. – dax