Laravel表单操作导致未定义的路径
表单操作总是让我困惑,因为仅仅指定控制器似乎非常简单。然而,每次使用它时,我总是得到Laravel表单操作导致未定义的路径,laravel,Laravel,表单操作总是让我困惑,因为仅仅指定控制器似乎非常简单。然而,每次使用它时,我总是得到路由[Controller@method]未定义。因此,我总是手动创建路由,然后为我的表单使用url 我目前有一个路由设置为route::controller('handle/events','eventscocontroller'),我正试图从如下表单调用方法postAdd: {{Form::open(['action'=>'EventsController@postAdd“])}} 而不是使用 ['url'=
路由[Controller@method]未定义
。因此,我总是手动创建路由,然后为我的表单使用url
我目前有一个路由设置为route::controller('handle/events','eventscocontroller')
,我正试图从如下表单调用方法postAdd
:
{{Form::open(['action'=>'EventsController@postAdd“])}}
而不是使用
['url'=>'handle/events/add']
这是完全可以接受的,因为这是一个RESTful路由
当我使用动作时,Laravel抛出Route[EventsController@postAdd]未定义。
。EventsController中的方法postAdd
也接受一个我希望以表单形式传递的参数
在控制器中,方法是
public function postAdd($staff = false) {
var_dump($staff); // Always false
}
我又一次想,这很简单:
{{Form::open(['url'=>'handle/events/add'],true)}
但是它没有更改$staff
的值
重述
第一个问题可以通过命名路由来解决
For example: Route::post('handle/events/add',['as' => 'handle.event.add', 'uses' => 'EventsController@addMethod']);
然后在你的状态下,你可以做这样的事情
{{ Form::open(array('route' => 'handle.event.add', 'method' =>'POST'))}}
现在您的表单将使用EventsController@addMethod
文件
如果要将参数传递给控制器方法,可以在路由中定义它
Route::get('handle/{event}',['as'=>'handle.event.add','uses'=>'EventsController@addMethod”)
现在,addMethod需要一个参数