use*_*546 6 ruby ruby-on-rails ruby-on-rails-3
我无法弄清楚如何在rails 3.0中执行此操作.我有一个控制器,products一个动作search,并且在routes.rb我尝试过
resources :products, :collection => {:search => :post }
Run Code Online (Sandbox Code Playgroud)
和
match 'products/search' => 'products#search', :via => [:get, :post]
Run Code Online (Sandbox Code Playgroud)
和许多其他设置,但每当我访问products/search我仍然得到一个错误抱怨具有id的产品search,无法找到该操作show.谁知道我做错了什么?
谢谢.
Joh*_*ohn 10
你很亲密
resources :products do
collection do
match 'search', :via => [:get, :post]
end
end
Run Code Online (Sandbox Code Playgroud)
或者,您也可以这样做:
resources :products do
match 'search', :on => :collection, :via => [:get, :post]
end
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅Edge Guides 外部的Rails路由,更具体地说: