2014-03-25 113 views
1

我正在使用資源路徑訪問我的網站上的幾個crud功能,但在訪問多個頁面時出現NotFoundHttpException錯誤。這是早些時候的工作,我認爲我沒有改變任何東西。Laravel資源路由NotFoundHttpException

Route::resource('/contractors', 'ContractorController'); 

具體ContractorController方法:

public function skills($id) 
{ 
    $contractor = Contractor::find($id); 
    return View::make('contractors.skills') 
     ->with('contractor', $contractor); 
} 

我把所有的坐落在ContractorController太基本的CRUD方法。我使用的技巧方法來創建編輯透視表標籤的新觀點

我的網址是公共/承包商/ 1 /技能,這把劍的觀點:

contractors/skills.blade.php 

你看到什麼,我我做錯了嗎?

回答

0

默認情況下資源控制器只能處理幾條路徑,您可以在Resource Controllers的文檔條目中看到它們的完整列表(共7條)。

skills URI段不是其中之一。您需要爲此添加單獨的路由:

Route::get('/contractors/{contractorId}/skills', '[email protected]'); 

但是,這不是真正的RESTful設計。你可能會更好,並有獨立的skills資源。

+0

謝謝。我現在全部工作了。不知道爲什麼我認爲我可以通過一條路線運行一切! – retrograde

+0

是否有可能從一個控制器方法生成兩個視圖?返回View :: make('Contractors.edit') - > with('contractor',$ contractor); View :: make('Contractors.photos') - > with('contractor',$ contractor); – retrograde

+0

你的意思是有條件的嗎?當然..'if($ condition){return View :: make(..)} else {return View :: make(..);'總共?不是真的。您只能返回1個響應,並且View :: make返回該響應。不過,您可以製作自己的回覆,其中包含其他回覆的內容。 –