Я не могу работать вокруг метода get в моих спецификациях контроллера rspec для моих маршрутов с областью.«get» метод в тестах контроллера Rails, бросающий «никакие совпадения маршрутов» для контроллера, ограниченного модулем
Я просматриваю маршруты для своих «посетительских» контроллеров, чтобы они находились в пространстве имен модулей «посетитель», но находятся в корне маршрутизации. Итак, «mysite.com/foo» отправляется в Visitor :: FooController.
конфигурации/routes.rb
scope :module => 'visitor' do
resources :inquiries
end
спецификации/контроллеры/посетитель/inquiries_controller_spec.rb
require 'spec_helper'
describe Visitor::InquiriesController do
describe 'GET new' do
it 'should render template visitor/inquiries/new' do
get :new
end
end
end
приложение/контроллеры/посетитель/inquiries_controller.rb
class Visitor::InquiriesController < Visitor::BaseController
def new
end
end
Когда я запустите spec, я получаю следующую ошибку.
No route matches {:controller=>"visitor/inquiries", :action=>"new"}
Я пытался добавить некоторые дополнительные параметры GET (например: URL => «запросы/новых»,: контроллер => «запросы»), но я не могу показаться, чтобы обойти эту проблему. Нажатие «запросов/новых» с моим браузером прекрасно работает и показывает, что мои маршруты работают так, как ожидалось.
Я новичок в rspec, так что может быть какая-то фундаментальная проблема, которую я не понимаю здесь. В противном случае я ищу способ преодолеть эти проблемы, чтобы проверить эти «посетительские» контроллеры. Любая помощь приветствуется!
Разве это изолировано? Работают ли другие маршруты? – stef
Я просто попробовал спецификацию контроллера для контроллера «admin», и «get: new» работал нормально. Разница с этими контроллерами «admin» заключается в том, что маршруты ограничены «администратором» (например, «admin/accounts»). – Mitch
Может быть, 'Посетитель :: ЗапросыКонтроллер' должен спуститься с' ApplicationController'? – zetetic