2010-10-28 1 views
7

у меня есть вложенное ресурс, установка, как это:Rspec2 и Rails 3 - Просмотр Spec маршрутизации для вложенных ресурсов

resources :chickens do 
     resources :eggs 
end 

Взгляды на EggsController находятся под просмотров/яйца, но:

describe "eggs/index.html.erb" do 

дает ссылку «Нет маршрутов» {: action => «create»,: controller => «eggs»} ошибка при вызове render. Как мне получить RSpec для поиска правильного (вложенного) маршрута для просмотра спецификаций?

Как примечание, есть ли какие-либо способ указать вложенный ресурс для контроллера эстакады контроллера Rails 3?

+0

Разговор о своевременном - вы нашли ответ на свой второй вопрос об генераторе? – Brian

+0

Я ничего не нашел вовремя, и все, что я действительно мог найти, было действительно старым проектом: https://github.com/phorsfall/rspec_on_rails_nested_scaffold –

ответ

2

Тест выглядит нормально для меня ...

если случайно у вас есть форма на яйца/index.html.erb для создания новых яиц, которые не могли бы быть еще проводными правильно? Кажется, он может пытаться отобразить представление индекса, но не удается, потому что представление пытается построить маршрут, который не существует? Вы хотите убедиться, что форма использует правильный маршрут вложенного ресурса. Отображает ли представление при загрузке в браузере?

+0

Вы были правы, что проблема заключается в добавлении новой ссылки на представление (удаление удаляет сбой), но путь (new_chicken_egg_path) работает в браузере. Я, между прочим, выполняю назначение (: chicken, @chicken) в спецификации, а не в том, что путь _explicitly_ принимает его как параметр. params [: chicken_id] = @chicken также устанавливается. Для этого я использую factory_girl. –

+0

Ах. Я использую form_for ([@ chicken, @egg]), поэтому я дважды проверю, что это работает. –

+0

Все хорошо сейчас. Начал получать маршрут для нового, но просто добавил @chicken в качестве параметра для метода new_chicken_egg_path. Благодаря! –