我如何确定资源的范围,以便确定路径助手的范围?

How can I scope a resource so that the path helpers are scoped?

超级简单的目标似乎没有很好的记录,我想确定资源的范围并让路径 (& url) 助手生成范围内的路径。

即:

scope :info do
  resources :publications
end

publications_path => '/info/publications'
publication_path => '/info/publications/:id'
edit_publication_path => '/info/publications/:id/edit'

我什至可以使用 'info_' 带前缀的路径助手,但它们不会被生成。那么让这项工作成功的秘诀是什么?

rake routes 给出:

          Prefix Verb   URI Pattern                             Controller#Action
    publications GET    /publications(.:format)                 publications#index
                 POST   /publications(.:format)                 publications#create
 new_publication GET    /publications/new(.:format)             publications#new
edit_publication GET    /publications/:id/edit(.:format)        publications#edit
     publication GET    /publications/:id(.:format)             publications#show
                 PATCH  /publications/:id(.:format)             publications#update
                 PUT    /publications/:id(.:format)             publications#update
                 DELETE /publications/:id(.:format)             publications#destroy
                 GET    /info/publications(.:format)            publications#index
                 POST   /info/publications(.:format)            publications#create
                 GET    /info/publications/new(.:format)        publications#new
                 GET    /info/publications/:id/edit(.:format)   publications#edit
                 GET    /info/publications/:id(.:format)        publications#show
                 PATCH  /info/publications/:id(.:format)        publications#update
                 PUT    /info/publications/:id(.:format)        publications#update
                 DELETE /info/publications/:id(.:format)        publications#destroy

当我看到你的 rake routes 输出时,我只能猜测,但我确信你有重复的 resources :publications.

我想你有

resources :publications
....
scope :info do
  resources :publications
end

第一行生成发布资源,你得到

publications_path => 'publications'

然后

publications_path 已被占用,您的 /info/publications 没有方法名