2014-11-14 32 views
0

我試圖爲我在數據庫中添加的每個課程動態地創建一個頁面。 我有一個CoursesController正在照顧添加,顯示課程。動態頁面創建不工作在laravel

所以,當我點擊某個課程時,它應該動態地爲該課程創建一個頁面,並在該課程頁面中顯示詳細信息。

route.php頁,我有

Route::get('courses/{code}', [ 'as'=>'course-show', 'uses'=>'[email protected]']); 

,並在

CoursesController.php

public function getShow($code){ 
    return $code; 
} 

而在index.blade.php爲CoursesController,

<h4><a href="{{ URL::action('course-show', $course->code) }}">{{ $course->name }}</a></h4> 

現在,它創建一個唯一的代碼(保存在數據庫),並在那裏點擊的鏈接,它需要我的課程頁面錯誤:

BadMethodCallException Method [show] does not exist.

可能是什麼問題?誰能幫我?

+0

你確定這條路線被使用?如果你評論它會發生什麼? – lukasgeiter 2014-11-14 21:28:28

+0

是的,你是對的。它沒有被使用。可能是什麼問題? – user1012181 2014-11-14 21:30:30

+0

您可能先定義了一條路線,然後再捕捉請求。說更多我需要看到你所有的路線。 – lukasgeiter 2014-11-14 21:31:40

回答

3

控制器中的getShow()函數應該是show()。

另外URL :: action()轉到控制器操作。

你可能想網址::航線()

<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> 
+1

你不是指'URL :: route()'? – lukasgeiter 2014-11-14 21:21:06

+0

出現同樣的問題。除了URl更改爲example.com/course-show/CODE。以前它是example.com/courses/CODE這就是我想要的 – user1012181 2014-11-14 21:22:55

+0

謝謝@lukasgeiter。我會做出適當的改變。 – JMc 2014-11-14 21:22:57