mid*_*s06 16 ruby-on-rails ruby-on-rails-3
我在routes.rb文件中设置了以下路由:
resources :people do
collection do
get :search
end
end
Run Code Online (Sandbox Code Playgroud)
当我对url执行get操作时:http:// localhost:3000/people/search.json?term = stepeb,服务器报告它正在响应show动作,使用正确的term参数,但也有一个id参数,设置为"搜索".
正如我所看到的,问题是显示网址的两个网址:
/people/:id
Run Code Online (Sandbox Code Playgroud)
我相信路由器在到达/ people/search之前匹配该路由
如果是这样的话,基于收集的路线将如何运作?他们都不会受到节目动作的影响吗?
耙路线的相关部分如下:
search_people GET /people/search(.:format) {:action=>"search", :controller=>"people"}
GET /people(.:format) {:action=>"index", :controller=>"people"}
people POST /people(.:format) {:action=>"create", :controller=>"people"}
new_person GET /people/new(.:format) {:action=>"new", :controller=>"people"}
GET /people/:id(.:format) {:action=>"show", :controller=>"people"}
PUT /people/:id(.:format) {:action=>"update", :controller=>"people"}
person DELETE /people/:id(.:format) {:action=>"destroy", :controller=>"people"}
edit_person GET /people/:id/edit(.:format) {:action=>"edit", :controller=>"people"}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4976 次 |
最近记录: |