在Rails中更改路由的URL

时间:2014-03-19 10:11:43

标签: ruby-on-rails ruby routes

我的用户搜索范围如下:

resources :users do
  collection do
    get :search
  end
end

然而,这会生成/users/search作为网址。我想将/search作为网址。我尝试了以下方法:

get '/search', as: :search
get '/search' => 'users#search', as: :search
get :search, to: 'users#search', as: :search

由于我不断收到路由错误,他们似乎无法工作。写它的正确方法是什么?

2 个答案:

答案 0 :(得分:1)

这个应该有用(没有前导' /'):

resources :users
get 'search' => 'users#search', as: :search

此路线的指定助手将为search_pathsearch_url

答案 1 :(得分:0)

您也可以使用匹配:

match "/search", to: "users#search", via: "get"