Итак, у меня есть маршрут, который выглядит так:
scope "4" do
scope "public" do
scope ":apikey" do
resources :shops
end
end
end
И куча спецификаций контроллера, пример которых выглядит так:
describe ShopsController do
describe "when responding to a GET" do
context "#new" do
it "should create a new instance of the shop class" do
get :new
@shop.should_not_be_nil
end
end
end
end
На рейковых маршрутах, а также через веб-браузер этот контроллер / действие работает нормально. Тем не менее, RSpec бросает:
1) ShopsController when responding to a GET#new should create a new instance of the shop class
Failure/Error: get :new
ActionController::RoutingError:
No route matches {:controller=>"shops", :action=>"new"}
# ./spec/controllers/shops_controller_spec.rb:9:in `block (4 levels) in <top (required)>'
Когда я удаляю операторы scope
из маршрута, тесты работают нормально. Есть ли способ «сообщить» RSpec об областях действия маршрута?
Заранее спасибо!