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):格式不是可选的。 我选择让它成为一个可选的参数,但是如果你遇到这个,你必须传递格式,如果你不使它可选。