如何路由动态网址?

ano*_*346 1 laravel

我是laravel的新手.我将此路由定义为编辑按钮:

<a href="/editTasks/{{ $task->id }}"><button class="btn btn-primary">Edit task</button></a>
Run Code Online (Sandbox Code Playgroud)

生成的网址很好,但找不到网页.我正在TaskController@edit使用此路线返回一个视图:

Route::get('/editTasks/{{ $task->id }}', 'TaskController@edit');
Run Code Online (Sandbox Code Playgroud)

有人可以帮我弄清楚我做错了什么吗?

Jer*_*dev 6

定义路由时,路由参数应该只有一个{.此外,您不应在声明中使用变量,而应使用变量的名称.

在您的示例中,这可能是一个有效的声明:

Route::get('/editTasks/{id}', 'TaskController@edit');
Run Code Online (Sandbox Code Playgroud)

更多信息可以在文档中找到:https://laravel.com/docs/5.7/routing#route-parameters


还建议使用路由名称,以便自动生成URL.

例如:

// Route declaration
Route::get('/editTasks/{id}', 'TaskController@edit')->name('tasks.edit');

// In view
<a href="{{ route('tasks.edit', [$task->id]) }}">Edit task</a>
Run Code Online (Sandbox Code Playgroud)