0

我很难设置简单的链接/操作。

在我的索引视图中,我有一个小表单,当我单击按钮时,我想在 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'));

但我仍然有同样的错误。我找不到关于路由/发送到不会给我这个问题的操作的任何好的文档。我不明白什么

4

2 回答 2

0

我认为问题在于您正在向操作添加参数,但您没有在路由中管理这些参数,您的getTest()函数也不接受任何参数。另一个问题是您将路线设置为GET路线,但您的表单将使用POST.

在您的表单上使用会更容易Form::hidden('id', $project->id);,然后在您的getTest()函数中,您可以使用$id = Input::get('id');. 您还可以在表单中使用您的路线名称。 Form::open(array('route'=> 'test_route', method=> 'get'));

于 2013-09-09T14:08:05.203 回答
0

您的路线不需要参数,所以我认为这段代码就足够了:

{{ Form::open(['method' => 'GET', 'route' => 'test_route']) }}
于 2013-09-09T02:14:27.543 回答