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} 

有任何想法吗?

提前致谢!

我找到了问题……

1)期望匹配字符串而不是

 :offset => 0, :limit => 2 

它应该是

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

2):格式不是可选的。 我选择让它成为一个可选的参数,但是如果你遇到这个,你必须传递格式,如果你不使它可选。