Laravel 关于表格中行为的混淆
我对Laravel相当陌生,我正在尝试使用Laravel 关于表格中行为的混淆,laravel,Laravel,我对Laravel相当陌生,我正在尝试使用资源控制器执行CRUD操作。我面临的问题是,在创建任务表单中,应该执行什么操作。让我给你一个概述,应用程序是如何设计的。我为MVC创建了单独的目录,如下所示: Todo_Model\Todo_Model.php Todo\U控制器\Todo\U控制器.php Todo_View\home.blade.php Todo_View\create.blade.php 路由:路由::资源('todo','todo_控制器\ todo_控制器') 路线:列表
资源控制器执行CRUD操作。我面临的问题是,在创建任务表单中,应该执行什么操作。让我给你一个概述,应用程序是如何设计的。我为MVC创建了单独的目录,如下所示:
- Todo_Model\Todo_Model.php
- Todo\U控制器\Todo\U控制器.php
- Todo_View\home.blade.php
- Todo_View\create.blade.php
路由:路由::资源('todo','todo_控制器\ todo_控制器')
路线:列表
控制器:
public function index()
{
return view('Todo_View\home');
}
public function create()
{
return view('Todo_View\create');
}
public function store(Request $request)
{
$todo= new todo_model();
$todo->title=$request->title;
$todo->body=$request->body;
$todo->save();
return redirect('todo');
}
create.blade.php
<form method="POST" action="../todo">
{{csrf_field()}}
<tr><td><input type="text" name="title" value="" placeholder="Title"></td></tr>
<tr><td><input type="text" name="body" value="" placeholder="Body"></td></tr>
<tr><td><input type="submit" name="submit" value="Submit"></td></tr>
</form>
{{csrf_field()}}
现在的问题是表单的操作应该是todo
,这可以在路由:list
中看到,但是当我点击submit时,我得到了方法notallowedHttpException
,并且显示的URL是http://localhost/laravel-7/blog/public/todo/todo
。但是在点击和试用期间,我发现我应该使用表单操作作为。/todo
。我非常困惑,为什么我必须使用该操作,因为它没有任何意义,因为在路由列表中,URI被清楚地提到为todo
另一点,当我点击索引页面时,URI是http://localhost/laravel-7/blog/public/todo
当我从主页重定向到创建页面时,URI是http://localhost/laravel-7/blog/public/todo/create
您将操作
与laravel中的本机php相混淆
将您的action=“../todo”
替换为action=“{{url('todo')}}”
{{csrf_field()}}
您只需精确地指定路径,无需说明文件的实际位置,因此action=“/todo”
可以正常工作它对我不起作用。我已经试过了,按照规定,我得到了一个例外。非常感谢你的帮助。但是,我确信,如果我没有像在另一个项目中一样使用资源控制器,并且在那里工作得很好,那么我可以简单地使用todo
。为什么会在这里产生问题?
<form method="POST" action="{{url('todo')}}">
{{csrf_field()}}
<tr><td><input type="text" name="title" value="" placeholder="Title"></td></tr>
<tr><td><input type="text" name="body" value="" placeholder="Body"></td></tr>
<tr><td><input type="submit" name="submit" value="Submit"></td></tr>
</form>