尝试获取以下表单的URL以正确填充。已经磕磕绊绊了一段时间,所以在这里寻求帮助。
从下面的代码中可以看出,我打开表单 - 绑定模型 - 并尝试动态设置URL。完整的URL类似于{username} / account / cards / id,所以我需要传递用户名(我想传递经过身份验证的用户(因为他们只能访问自己的页面)和ID卡他们正试图更新。
{!! Form::model($card, ['method' => 'PATCH', 'action' => 'Account\CardsController@update', array(Auth::user()->username, $card->id) ]) !!}
现在这一切都发生在刀片(前端),所以不是100%我做错了。我尝试过动作,网址,路线......由于某些原因我无法获得任何工作。我在这个问题上遇到的错误是一个数组到字符串错误。但是,如果我无法构建数组,我如何传递多个变量?所以在这里有点困惑。
任何帮助将不胜感激。
由于
CITTI
答案 0 :(得分:2)
这是我之前回答的更新。你可以尝试这个:
{!! Form::model($card, ['method' => 'PATCH', 'action' => [ 'Account\CardsController@update', Auth::user()->username, $card->id] ]) !!}
答案 1 :(得分:0)
您只是将路线参数作为选项传递给Form::model
标签,而不是路线。尝试:
{!! Form::model($card, ['method' => 'PATCH', 'action' => [ 'Account\CardsController@update', [Auth::user()->username, $card->id] ] ]) !!}
如果您仍然遇到问题,我建议您为路线命名并在行动中引用指定的路线。
答案 2 :(得分:0)
如果我没有弄错的话,如果你将变量传递给控制器,那么动作应该是一个数组。例如:
{!! Form::model($card, array('method' => 'PATCH', 'action' => array('Account\CardsController@update', Auth::user()->username, $card->id))) !!}
不确定您是否使用Larvel Collective HTML和Forms,但它们与Laravel版本基本相同。此页面:http://laravelcollective.com/docs/5.0/html#form-model-binding详细说明了您的特定用例。
希望它有所帮助。
P.S。尝试添加:
{!! Form::hidden('_method', 'PATCH') !!}
...在open标记下面而不是在其中。这与L5方法欺骗有关,对于任何不是“POST”或“GET”的东西,我认为这通常是必要的。 (即'PUT','PATCH'和'DELETE')