Мазонит - в чем разница между «именем» и «префиксом» при создании групп маршрутов - PullRequest
0 голосов
/ 08 декабря 2018

У меня есть этот фрагмент кода, но я не уверен, какая разница между prefix и name в параметрах группы?

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

1 Ответ

0 голосов
/ 08 декабря 2018

Префикс фактически является префиксом к самому маршруту, а name просто добавляет имя к именам всех маршрутов внутри группы.

Возьмем, к примеру,

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

этот фрагмент создает два маршрута, соответствующие URL-адресам /blog и /blog/create, но также добавляет имена к маршрутам, такие как blog.form и blog.create

Имена маршрутов могутиспользоваться для перенаправления:

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

или создания URL-адресов, подобных этому:

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

, который генерирует тот же URL, что и выше.

...