一大波路由问题
在初尝Laravel(4.2)后,遇到了一些由路由引起的问题,特此发帖征询下解决方案。
路由:
//统一处理发布界面
Route::get('/new/{t}', function ($type) {
return View::make('room.new_' . $type)->with(['areas' => RoomsController::getArea(0)]);
});
//处理发布请求
Route::post('/new/save', 'RoomsController@save');
此时,在该界面中进行了资料提交后,由save()成员方法响应。
在save()方法中,需要带着input和error的数据返回之前的页面。
我设置了严格的Validator规则,因此进入if,我只截片段:
$validator = Validator::make(Input::all(), Cars::$createRules);
if ($validator->fails()) {
return Redirect::back()->withErrors($validator->messages())->withInput(); //此处必须echo才会跳转,input和error无数据
return Redirect::route('new.car')->withErrors($validator->messages())->withInput(); //报错,因为路由的写法似乎不对
}
问题总结起来为3个:
-
Redirect::back()必须为echo才会返回(但会出现一些头部“Header.......................................”)
-
Redirect::route('new.car')无法指向路由,必须在控制器中建立show方法再指定吗?不想这样呃..
-
无论哪一种方法,input和error都无法在模板中
Session::get()
,foreach and $errors->all()
输出显示。
推荐文章: