我要删除My laravel app中的文件。但删除按钮不起作用。 (未删除)没有任何错误blade.php
//delete button here
<button class="btn btn-danger delete pull-right"
data-action="/projects/{{ $project->id }}/files/{{ $file->id }}"
data-token="{{csrf_token()}}">
<i class="fa fa-trash-o"></i>Delete
</button>
控制器
public function deleteOneProjectFile($fileUrl, $id)
{
DB::table('files')
->where('file_url', $fileUrl)
->where('project_id', $id)
->delete();
return redirect()->route('projects.show')->with('info', 'File deleted successfully');
}
路由
Route::delete('projects/{projects}/files/{files}',[
'uses' => 'FilesController@deleteOneProjectFile',
]);
如何解决这个问题?
答案 0 :(得分:0)
根据我的说法,你并没有要求服务器作为删除请求,这就是为什么它不起作用,你可以使用Laravel的方法实现这个目的:
您的路线文件应该是:
Route::delete('projects/{projects}/files/{files}', 'FilesController@deleteOneProjectFile')->name('delete_route');
,您的HTML应该是:
<form action="{{ route('delete_route', ['project_id' => $project_id, 'file_id' => $file_id]) }}" method="POST">
{{ csrf_token() }}
{{ method_field('DELETE') }}
......
<button type="submit">
<i class="fa fa-trash-o"></i>Delete
</button>
</form>
希望这有帮助!