在路由中,从 w/in 范围块覆盖 scope-defined 名称
In routes, override scope-defined name from w/in the scope block
假设您已经为一堆路由创建了一个范围:
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
不是资源,我认为浅薄或collections都不能使用。
注:以上并非实际数据,仅为遵守隐私规则的示例。
不,我想不出不把它移到 scope
块之外的方法。这是我要放在 scope
块之后的内容:
get 'author/books' => 'author#my_books', as: 'my_books'
假设您已经为一堆路由创建了一个范围:
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
不是资源,我认为浅薄或collections都不能使用。
注:以上并非实际数据,仅为遵守隐私规则的示例。
不,我想不出不把它移到 scope
块之外的方法。这是我要放在 scope
块之后的内容:
get 'author/books' => 'author#my_books', as: 'my_books'