2011-05-21 118 views
2

我在爲我的一些路線編寫規範時遇到了一些麻煩。我幾乎遇到了這個問題,幾乎所有的軌道匹配路線。下面的代碼:Rails/RSpec匹配Rails匹配路線

在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 

耙路線已:

/: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"} 

我在做什麼錯?

回答

2

我想,如果你使用命名路由

get :order 

只會工作。試試

get "/1"