对于我的范围路由,我似乎无法解决我的 rspec 控制器规范中的“get”方法。
我正在为我的“访问者”控制器确定路由范围,以便它们位于“访问者”模块命名空间内,但位于路由的根目录。所以'mysite.com/foo' 转到Visitor::FooController。
配置/路由.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
当我运行规范时,我收到以下错误。
No route matches {:controller=>"visitor/inquiries", :action=>"new"}
我尝试为 get 添加一些额外的参数(例如:url => 'inquiries/new'、:controller => 'inquiries'),但我似乎无法解决这个问题。用我的浏览器点击“查询/新”可以正常工作,并表明我的路线按预期工作。
我是 rspec 的新手,所以这里可能存在一些我不理解的基本问题。否则,我正在寻找一种方法来解决这个问题,以便我可以测试这些“访客”控制器。任何帮助表示赞赏!