【发布时间】:2014-03-25 04:04:52
【问题描述】:
我的路线设置如下:
Route::match(array('GET', 'POST'), '/reset-password/{code}', array('as' => 'reset-password-confirm', 'uses' => 'UserController@resetPasswordConfirm'));
在我的控制器中,我将路由参数传递给我的操作,如下所示:
public function resetPasswordConfirm($code)
{
// ...
}
然后我可以在我的控制器中正常使用$code。
在我看来,我正在构建一个 POST 到同一控制器操作的表单,我需要以某种方式将 $code 放入视图中,以便它构造正确的表单操作。目前我有这个:
{{ Form::open(array('route' => array('reset-password-confirm'))) }}
因为我没有提供$code 路由参数,所以表单是这样打开的:
<form method="POST" action="http://site.dev/reset-password/%7Bcode%7D" accept-charset="UTF-8">
显然,这与我定义的路由不匹配(由于{code} 不存在)并且路由匹配失败。我需要以某种方式将路由参数放入我的视图中,以便我可以将它与Form::open() 一起使用。我试过这样做:
{{ Form::open(array('route' => array('reset-password-confirm', $code))) }}
但这只会引发一个异常,说 $code 未定义。
【问题讨论】:
标签: php laravel laravel-4 url-routing