在路由中,从范围块中的w /覆盖范围定义的名称

时间:2017-11-02 21:08:59

标签: ruby-on-rails ruby-on-rails-4 rails-routing

想象一下,您已为一系列路线创建了一个范围:

scope 'author', as: 'author' do
  get 'search'     => 'author#search'
  get 'publishers' => 'author#publishers'
  get 'books'      => 'author#my_books', as: 'my_books'
  get 'stores'     => 'author#stores'
end

范围自然会为每个请求创建路径;例如,search将有一个名为author_search_path的路径。

如何在范围块内覆盖路径中的范围包含?例如,books重命名为my_books,但范围使其为author_my_books_path。是否可以将路径重命名为my_books_path(没有author_)而不将行移动到范围块之外?

由于author不是资源,我不认为可以使用浅薄或集合。

注意: 上述内容不是实际数据,只是符合隐私规则的示例。

1 个答案:

答案 0 :(得分:1)

不,如果不将其移到scope区域之外,我想不出办法。这是我在scope块之后放置的内容:

get 'author/books' => 'author#my_books', as: 'my_books'