Rails / RSpec匹配Rails匹配路由

时间:2011-05-21 19:16:19

标签: ruby-on-rails rspec routes

我在为一些路线编写规范时遇到了一些麻烦。几乎任何铁路匹配路线都遇到了这个问题。这是代码:

在routes.rb

match "/:id" => "home#order"
home_controller.rb中的

def order
  respond_to do |format|
    format.html { render :layout => 'order' }
  end
end
home_controller_spec.rb中的

it "should render the order layout" do
  get :order
  response.layout.should == 'layouts/order'
end

rake路线有:

/:id(.:format)                      {:controller=>"home", :action=>"order"}

然而,该规范引发了这个例外:

  1) HomeController when not signed in should render the order layout
     Failure/Error: get :order
     ActionController::RoutingError:
       No route matches {:controller=>"home", :action=>"order"}

我做错了什么?

1 个答案:

答案 0 :(得分:2)

我认为

get :order

只有在使用命名路由时才有效。试试吧

get "/1"