我很难设置简单的链接/操作。
在我的索引视图中,当我点击按钮时,我想要在ProjectsController中启动getTest操作这个小形式:
{{ Form::open(array('action' => array('ProjectsController@getTest', $project->id))) }}
<button type="submit"><i class="icon-arrow-up"></i></button>
{{ Form::close() }}
这是getTest函数:
public function getTest(){
echo "test";
return 'test';
}
但是这让我误以为"Array_combine(): Both parameters should have an equal number of elements"
。
我尝试用一条路线做这项工作。打开这个表格:
{{ Form::open(['method' => 'GET', 'route' => ['test_route', $project->id]]) }}
这条路线:
Route::get('projects/test', array('as' => 'test_route', 'uses' =>'ProjectsController@getTest'));
但我仍然有同样的错误。 我找不到任何关于路由/发送到没有给我这个问题的行动的好文档。我看不出是什么
答案 0 :(得分:0)
你的路线不需要参数,所以我认为这段代码就足够了:
{{ Form::open(['method' => 'GET', 'route' => 'test_route']) }}
答案 1 :(得分:0)
我认为问题在于您是在为操作添加参数,但是您没有在路线中管理这些参数,您的getTest()
函数也不接受任何参数。另一个问题是您将路线设置为GET
路线,但您的表单将使用POST
。
在您的表单上使用Form::hidden('id', $project->id);
会更容易,然后在getTest()
函数中,您可以使用$id = Input::get('id');
获取变量。您也可以在表单中使用您的路由名称。 Form::open(array('route'=> 'test_route', method=> 'get'));