将新页面添加到rails中的资源

时间:2011-07-14 02:31:13

标签: ruby-on-rails routes

好的,这看起来很简单,我觉得有点愚蠢的问,但我看到其他人问了类似但不一样的东西,他们的答案并没有解决我的问题。我有一个名为servicios的资源。

资源:servicios,为我的控制器中的“默认”操作创建路由:索引,新建,创建,显示,编辑,更新,销毁。但是,我需要另一个搜索的操作,该操作应该映射到我要实现高级搜索的视图。

我该怎么做?

  

使用新信息进行编辑   使用这种方法:资源:servicios,:collection => {:search => :得到}   http://localhost:3000/servicios/search   我收到了错误   ServiciosController#show中的ActiveRecord :: RecordNotFound   无法找到ID = search

的Servicio

2 个答案:

答案 0 :(得分:3)

如果您使用的是Rails 3,那么路径定义将类似于

resources :servicios do
  collection do
    get :search
  end
end

答案 1 :(得分:1)

resources :servicios, :collection => {:search => :get}

将route / servicios / search搜索到servicios控制器中的def search...end

或者...

match 'search', :to => 'servicios#search'