【发布时间】:2016-06-30 15:56:54
【问题描述】:
我正在使用 Laravel 5 并从 Laravel 网站开始快速入门。 如果我使用代码中的 post 函数,它会重定向到 localhost/LOCATION 而不是 localhost/PROJECT/public/LOCATION。
它可能在我的配置中,但我不知道它是什么。
这是来自我的路由器的代码,它似乎是发布任务功能中的问题。
<?php
use App\Task;
use Illuminate\Http\Request;
Route::group(['middleware' => ['web']], function () {
/**
* Show Task Dashboard
*/
Route::get('/', function () {
return view('tasks', [
'tasks' => Task::orderBy('created_at', 'asc')->get()
]);
});
/**
* Add New Task
*/
Route::post('/task', function (Request $request) {
$validator = Validator::make($request->all(), [
'name' => 'required|max:255',
]);
if ($validator->fails()) {
return redirect('/')
->withInput()
->withErrors($validator);
}
$task = new Task;
$task->name = $request->name;
$task->save();
return redirect('/');
});
/**
* Delete Task
*/
Route::delete('/task/{id}', function ($id) {
Task::findOrFail($id)->delete();
return redirect('/');
});
});
使用此代码我发布到路线
<form action="/task" method="POST" class="form-horizontal">
{{ csrf_field() }}
<!-- Task Name -->
<div class="form-group">
<label for="task-name" class="col-sm-3 control-label">Task</label>
<div class="col-sm-6">
<input type="text" name="name" id="task-name" class="form-control" value="{{ old('task') }}">
</div>
</div>
<!-- Add Task Button -->
<div class="form-group">
<div class="col-sm-offset-3 col-sm-6">
<button type="submit" class="btn btn-default">
<i class="fa fa-btn fa-plus"></i>Add Task
</button>
</div>
</div>
</form>
更新 如果我将表单操作更改为“/quickstart/public/task”,它可以工作,但如果我没记错,/task 应该在 laravel 中自动重定向到它
【问题讨论】:
-
您是如何使用表单中的 post 功能的?如果是这样,请发布表单的代码
-
是的,从表格中我把它放在那里了,谢谢