我正在为我的一个项目使用 Laravel 框架和刀片模板引擎,其中我的路线看起来像
Route::get('/problems/{problem-id}/edit', 'AdminController@editProblem');
我在 AdminController 中有 editProblem 方法,它返回一个视图
public function editProblem(Problem $problem) {
return view('admin.problem-edit', compact('problem'));
}
我在视图上有一个按钮,看起来像
<button class="btn btn-xs btn-info pull-right">Edit</button>
现在我想在单击按钮时使用 $problem->id
调用此路由。我需要在路线上传递这些值。
我怎样才能做到这一点?
原文由 rimonmostafiz 发布,翻译遵循 CC BY-SA 4.0 许可协议
在我看来,你应该使用 url() Laravel 方法
要使用问题的 id 呼叫您的路线,您可以执行以下操作:
我使用了锚标记,但它会像按钮标记一样呈现,因为我保留了您定义的相同样式类。
为什么你应该使用 url() 方法?
原因很简单,url 方法会获取到你的控制器的完整 url。如果您不使用它,href 链接将附加当前 url。
例如,假设您的按钮位于给定页面内
当有人单击您的按钮时,结果将是:
当你想得到这个:
关于您的 editProblem 方法的一些注意事项
你的路线有’\(id',所以你需要在你的方法中接收这个'\)id’