嗨我建laravel应用程序,我有一个消息表,我想用datatables显示数据。在我的索引视图中,数据是可见的,排序,分页和数据表的搜索栏工作正常,我还添加了编辑和删除按钮,我开始工作的删除按钮,但我有一个路由问题。这是我的路由文件web.php
Route::middleware('auth')
->namespace('Admin')
->name('admin.')
->prefix('admin')
->group(function () {
Route::get('/', 'HomeController@index')->name('home');
Route::resource('/user', 'UserController');/* ->except(['edit', 'update']); */
Route::resource('/user/{user:id}/messages', 'MessagesController');
});
Route::get('messages', 'Admin\MessagesController@getMessages')->name('get.messages');
Auth::routes();
MessagesController中向我返回数据表中消息的函数
public function getMessages()
{
$user = Auth::user();
return DataTables::of(Message::query())
->addColumn('action', function ($message) use ($user) {
return '<a href="javascript:void(0)" data-toggle="tooltip" data-id="' . $message->id . '" class="btn btn-xs btn-primary" data-toggle="modal" data-target="#edit-modal-' . $message->id . '"><i class="glyphicon glyphicon-edit"></i> Modifica</a>
<a href="javascript:void(0)" class="btn btn-xs btn-danger deleteMessage" data-id="' . $message->id . '" data-user="' . auth()->user()->id . '" data-toggle="modal" data-target="#delete-modal-' . $message->id . '"><i class="glyphicon glyphicon-trash"></i> Elimina</a>
';
})
->setRowClass('{{$id % 2 == 0 ? "alert-success" : "alert-danger"}}')
->setRowId(function ($message) {
return $message->id;
})
->setRowAttr(['align' => 'center'])
->make(true);
}
这是我的jquery代码,用于删除数据表中的记录
$('body').on('click', '.deleteMessage', function() {
var id = $(this).data("id");
confirm("Are You sure want to delete this Post!");
$.ajax({
type: "DELETE",
url: "{{ route('admin.messages.destroy', ['user' => auth()->user()->id]) }}/" +
id,
success: function(data) {
table.draw();
},
error: function(data) {
console.log('Error:', data);
}
});
});
我希望代码删除我在数据表中选择的记录,但我得到此错误Illuminate\Routing\Exceptions\UrlGenerationException [Route:管理员邮件销毁] [URI:管理员/用户/{用户}/消息/{消息}]。(查看:C:\用户\ficus\桌面\Progetti\ArgostudioADV\resources\views\layouts\app.blade.php)http://127.0.0.1:8000/admin/user/1/messages有人能找出我如何在删除功能中建立网址吗?
我做了更改@aynber建议我和它的工作,我有记录的vista现在,但现在我有另一个问题,当我按下删除按钮,弹出显示我提交,但它给予我405错误和消息仍然存在,但如果我重新加载页面视图给我记录删除成功的消息,它也消失在数据库中,有什么线索吗?这就像函数从来没有成功过,但它删除了记录,因为我们调用了销毁路由
1条答案
按热度按时间zdwk9cvp1#
首先,您需要正确定义资源路线。
资源路由
消息删除链接
js代码