0

我有这个代码片段,但我不确定组参数prefixname组参数之间的区别是什么?

group([
    #Get().route('/', 'WelcomeController@show').name('welcome'),
    get('/', 'PostController@show').name('form'),
    post('/store', 'PostController@store').name('create')
], prefix='blog.', name="blog."])
4

1 回答 1

2

前缀实际上是路由本身的前缀,name只是将名称添加到组内所有路由的名称之前。

以此为例:

group([
  get('', 'PostController@show').name('form'),
  get('/create', 'PostController@create').name('create'),
], prefix='/blog', name="blog."])

这个片段的作用是创建两个路由来匹配的 URL /blog/blog/create但也将名称添加到路由中,例如blog.formblog.create

路由的名称可用于重定向:

def show(self, request: Request):
    request.redirect_to('blog.create') #== /blog/create

或生成这样的网址:

<a href="{{ route('blog.create') }}">Link</a>

它生成与上面相同的 URL。

于 2018-12-08T16:58:52.407 回答