Sas*_*ens 5 php laravel laravel-4
目前我正在开展一个项目来管理我的燃料成本.现在我尝试传递2个参数,Form::open()其中遗憾的是不起作用.我认为我需要一次传递2个参数的原因是因为我的网址是Sitename/car/{id}/tank/{id}
我做错了什么?
edit.blade.php
Form::open(array('class' => 'form-horizontal', 'method' => 'put', 'action' => array('TankController@update', array($aid, $id))))
Run Code Online (Sandbox Code Playgroud)
问题代码
'action' => array('TankController@update', array($aid, $id)
Run Code Online (Sandbox Code Playgroud)
- 结果出现以下错误:
Parameter "tank" for route "car.{id}.tank.update" must match "[^/]++" ("" given) to generate a corresponding URL.
TankController.php
public function edit($id, $tid)
{
$tank = Tank::find($tid);
if(!$tank) return Redirect::action('TankController@index');
return View::make('Tank.edit', $tank)->with('aid', $id);
}
public function update($id, $tid)
{
$validation = Validator::make(Input::all(), Tank::$rules);
if($validation->passes()){
$tank = Tank::find($tid);
$tank->kmstand = Input::get('kmstand');
$tank->volume = Input::get('volume');
$tank->prijstankbeurt = Input::get('prijstankbeurt');
$tank->datumtank = Input::get('datumtank');
$tank->save();
return Redirect::action('TankController@index', $id)->with('success', 'Tankbeurt succesvol aangepast');
} else return Redirect::action('TankController@edit', $id)->withErrors($validation);
}
Run Code Online (Sandbox Code Playgroud)
Route.php
Route::resource('car', 'CarController');
Route::resource('car/{id}/tank', 'TankController');
Route::controller('/', 'UserController');
Run Code Online (Sandbox Code Playgroud)
-Url结构 SITENAME/car/2/tank/2 /编辑
我也查看了api文档,但一无所获. http://laravel.com/api/source-class-Illuminate.Html.FormBuilder.html
提前致谢
Ant*_*iro 16
试试这个:
Form::open(array('class' => 'form-horizontal', 'method' => 'put', 'action' => array('TankController@update', $aid, $id)))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16779 次 |
| 最近记录: |