Подтвердить что ты не робот

Ошибка "Нет совпадений маршрута"?

Я новый Rspec и только начал с создания нового контроллера на Rails 3. По умолчанию он генерирует некоторые тесты Rspec. У меня есть вопрос о том, как заставить их пройти. Как бы то ни было, я вижу этот тест в моем терминале "

1) BuildingsController GET 'show' должен быть успешным

 Failure/Error: get 'show'
 No route matches {:controller=>"buildings", :action=>"show"}
 # ./spec/controllers/buildings_controller_spec.rb:17:in `block (3 levels) in <top (required)>'

Однако я не понимаю, почему это происходит, потому что у меня уже создан этот маршрут ( "resources: buildings" ), и я побежал rake routes и убедился там.

здание GET/buildings/:id(.:format) {: action = > "show",: controller = > "buildings" }

Что необходимо сделать для этого прохода? Вот тест, кстати:

  describe "GET 'show'" do
    it "should be successful" do
      get 'show'
      response.should be_success
    end
  end
4b9b3361

Ответ 1

Вам нужно передать идентификатор существующего здания: get :show, :id => @building.id

Маршруты жалуются на это, потому что :id не является необязательным.