Laravel 4 Form Post

Web*_*evB 3 php laravel laravel-4

我目前正在学习Laravel 4.

我正在尝试创建一个非常简单的帖子表单,这是我打开表单的代码:

{{ Form::open(array('post' => 'NewQuoteController@quote')) }}
Run Code Online (Sandbox Code Playgroud)

然后在我的NewQuoteController中我有以下内容:

public function quote() {

   $name = Input::post('ent_mileage');
   return $name;

}
Run Code Online (Sandbox Code Playgroud)

我一直收到以下错误:

Symfony\Component\HttpKernel\Exception\NotFoundHttpException

这可能是非常愚蠢的事......谢谢.

编辑

这就是我在routes.php中的内容

Route::get('/newquote','NewQuoteController@vehicledetails');

Route::post('/newquote/quote', 'NewQuoteController@quote');
Run Code Online (Sandbox Code Playgroud)

Ant*_*iro 9

对于POST,您需要将其更改为:

{{ Form::open(array('action' => 'NewQuoteController@quote')) }}
Run Code Online (Sandbox Code Playgroud)

并且您需要有一个到您的控制器操作的路由:

Route::post('quote', 'NewQuoteController@quote');
Run Code Online (Sandbox Code Playgroud)

默认方法Form::open()是POST,但是如果您需要将其更改为PUT,则必须执行此操作

{{ Form::open(array('method' => 'PUT', 'action' => 'NewQuoteController@quote')) }}
Run Code Online (Sandbox Code Playgroud)

而且您还必须为它创建一条新路线:

Route::put('quote', 'NewQuoteController@quote');
Run Code Online (Sandbox Code Playgroud)

你也必须变脸

$name = Input::post('ent_mileage');
Run Code Online (Sandbox Code Playgroud)

$name = Input::get('ent_mileage');
Run Code Online (Sandbox Code Playgroud)

您可以对不同的方法和操作使用相同的URL:

Route::get('/newquote','NewQuoteController@vehicledetails');

Route::post('/newquote', 'NewQuoteController@quote');

Route::put('/newquote', 'NewQuoteController@quoteUpdate');
Run Code Online (Sandbox Code Playgroud)