Rails:在路由文件中为索引操作取别名

Rails: aliasing the index action in the routes file

我设置了以下路线。我需要让索引操作自动使用下面的 pubmed_search 路由。

  resources :users do
    resources :publications do
       collection do
         get :pubmed_search
         post :pubmed_list
       end
     end
    end

我试过了

  resources :users do
    resources :publications do
       collection do
         get 'publications', :action => :pubmed_search
         get :pubmed_search
         post :pubmed_list
       end
     end
    end

如果运气不好,我只能在控制器的索引方法中进行重定向,但我确信有一种 Rails 方法可以做到这一点,我想学习。

编辑:

这个有效

  get "/users/:user_id/publications" => "publications#pubmed_search", :as => "user_publications"

但是没有更好的方法,使用 RESTful 资源吗?

这个有效

get "/users/:user_id/publications" => "publications#pubmed_search", :as => "user_publications"