2011-09-15 76 views
1

我不知道我在做什麼錯在這裏。任何人有任何見解?Rails路由問題與控制器測試

這裏是我的routes.rb

resources :accounts do 
    collection do 
     get "search/:term/:offset/:limit.:format", :action => "search", :constraints => { :offset => /\d+/, :limit => /\d+/ } 
    end 
end 

這裏是我的耙路輸出...

GET /accounts/search/:term/:offset/:limit.:format {:offset=>/\d+/, :action=>"search", :controller=>"accounts", :limit=>/\d+/} 

這裏是我的測試線...

get :search, :term => "Test", :offset => 0, :limit => 2 

這裏是我的錯誤.. 。

ActionController::RoutingError: No route matches {:term=>"Test", :action=>"search", :controller=>"accounts", :offset=>0, :limit=>2} 

任何想法?

在此先感謝!

回答

2

我找到了問題...

1)期待以匹配字符串所以不是

:offset => 0, :limit => 2 

應該

:offset => '0', :limit => '2' 

2):格式不可選的。我選擇將它作爲可選參數,但是如果遇到這種情況,您將不得不傳遞格式,如果您沒有將其設置爲可選。