我尝试为我在数据库中添加的每个课程动态创建页面。
我有CoursesController
负责添加,显示课程。
因此,当我点击课程时,它应该动态创建该课程的页面并在该课程页面中显示详细信息。
在route.php
页面中,我有
Route::get('courses/{code}', [ 'as'=>'course-show', 'uses'=>'CoursesController@getShow']);
并在
中 CoursesController.php
public function getShow($code){
return $code;
}
在CoursesController的index.blade.php
中,
<h4><a href="{{ URL::action('course-show', $course->code) }}">{{ $course->name }}</a></h4>
现在,它创建了一个带有唯一代码的链接(保存在数据库中),点击那里后,它会带我到课程页面并显示错误:
BadMethodCallException
Method [show] does not exist.
可能是什么问题?任何人都可以帮助我吗?
答案 0 :(得分:3)
控制器中的getShow()函数应为show()。
URL :: action()也会转到控制器操作。
您可能需要 URL :: route()
<h4> <a href="{{ URL::route('course-show', $course->code) }}">{{ $course->name }}</a> </h4>
或者你可以这样做
<h4> <a href="{{ URL::to('courses/', $course->code) }}">{{ $course->name }}</a> </h4>