Masonite - 制作路线组时 "name" 和 "prefix" 有什么区别
Masonite - What is the difference between "name" and "prefix" when making route groups
我有这个代码片段,但我不确定 prefix
和 name
之间在组参数中的区别是什么?
group([
#Get().route('/', 'WelcomeController@show').name('welcome'),
get('/', 'PostController@show').name('form'),
post('/store', 'PostController@store').name('create')
], prefix='blog.', name="blog."])
前缀实际上是路由本身的前缀,name
只是将名称添加到组内所有路由的名称前。
以此为例:
group([
get('', 'PostController@show').name('form'),
get('/create', 'PostController@create').name('create'),
], prefix='/blog', name="blog."])
此代码段的作用是创建两条路由以匹配 /blog
和 /blog/create
的 URL,但还会将名称添加到路由前,例如 blog.form
和 blog.create
可用于重定向的路由名称:
def show(self, request: Request):
request.redirect_to('blog.create') #== /blog/create
或像这样生成网址:
<a href="{{ route('blog.create') }}">Link</a>
生成与上面相同的 URL。
我有这个代码片段,但我不确定 prefix
和 name
之间在组参数中的区别是什么?
group([
#Get().route('/', 'WelcomeController@show').name('welcome'),
get('/', 'PostController@show').name('form'),
post('/store', 'PostController@store').name('create')
], prefix='blog.', name="blog."])
前缀实际上是路由本身的前缀,name
只是将名称添加到组内所有路由的名称前。
以此为例:
group([
get('', 'PostController@show').name('form'),
get('/create', 'PostController@create').name('create'),
], prefix='/blog', name="blog."])
此代码段的作用是创建两条路由以匹配 /blog
和 /blog/create
的 URL,但还会将名称添加到路由前,例如 blog.form
和 blog.create
可用于重定向的路由名称:
def show(self, request: Request):
request.redirect_to('blog.create') #== /blog/create
或像这样生成网址:
<a href="{{ route('blog.create') }}">Link</a>
生成与上面相同的 URL。