我首先要为新问题道歉。
我正在Laravel上制作一个简单的CRUD控制器。
我的创建方法如下:
public function create(Request $request)
{
$dummy = new Dummy();
$dummy->title = $request->title;
$dummy->content = $request->dummy_content;
$dummy->created_at = new \DateTime();
$dummy->updated_at = new \DateTime();
$dummy->save();
return redirect()
->route('index/view/', ['id' => $dummy->id])
->with('message', 'Dummy created successfully');
}
我的观察方法:
public function view($id)
{
$dummy = Dummy::find($id);
return view('index/view', [
'dummy' => $dummy
]);
}
我的相应路线:
Route::get('index/view/{id}', 'IndexController@view');
Route::post('index/create', 'IndexController@create');
和我的表格:
<form action="create" method="post">
{{ csrf_field() }}
<div class="form-group">
<label for="title">Title</label>
<input type="text" name="title" class="form-control">
</div>
<div class="form-group">
<label for="content">Content</label>
<textarea name="dummy_content" cols="80" rows="5" class="form-control"></textarea>
</div>
<button type="submit" class="btn btn-default btn-sm">Submit</button>
</form>
当我提交表单时,我收到以下异常:
UrlGenerator.php第314行中的InvalidArgumentException: 路线[index / view /]未定义。
我已经被困在这里很长一段时间了,我仍然无法弄清楚为什么我没有正确地生成我的路线。
我错过了什么?
答案 0 :(得分:1)
您正在尝试呼叫路线而应该呼叫控制器。这样就可以了解
return redirect()->action('IndexController@view', ['id' => $id])->with($stuff);
另外,我建议您为路由定义别名,这样就可以执行类似
的操作在您的控制器中:
return Redirect::route('route_alias', ['id' => $id])->with($stuff);
在您的路线中:
Route::get('/index/view/{id}', [
'as' => 'route_alias',
'uses' => 'IndexController@view'
]);