2016-01-02 28 views
0

我有一個下面的代碼定義控制器的方法的形式動作

{!! Form::open(array('action' => '[email protected]')); !!} 

它呼喊該clientController @創建沒有定義除非我把一些代碼到routes.php文件(這是我的解決方案)

Route::post('clientRegistration', ['uses' => '[email protected]', 'as' => 'registration']); 

一切然後正常工作,但我不知道如果我找到了正確的解決方案,我必須創建每個將創建的窗體的路線?我不知道爲什麼Laravel無法在routes.php文件中找不到控制器方法

+0

它不應該是'ClientController @ create'? – MarkM

+0

爲什麼它應該是? camelCase命名總是以小寫字母開頭 –

回答

0

當您調用一個動作時,Laravel通過它存儲的路徑搜索處理器關聯。這在routes.php

如果在插入

Route::post('clientRegistration', ['uses' => '[email protected]', 'as' => 'registration']); 

做你的routes.php,你可以做任何下列

{!! Form::open(array('action' => 'registration')); !!} 
{!! Form::open(array('action' => '[email protected]')); !!} 

的。如果你只用

Route::post('clientRegistration', '[email protected]'); 

你能堅持仍然使用

{!! Form::open(array('action' => '[email protected]')); !!} 

點擊此處瞭解詳情:https://laravel.com/docs/5.2/routing#named-routes

不管你需要什麼,告訴Laravel關於routes.php你的路線,因爲否則將不知道如何處理這個請求。

我建議

Route::resource('client', 'ClientController'); 

請仔細閱讀 https://laravel.com/docs/5.2/controllers#restful-naming-resource-routes

相關問題