@alexmixaylov

Правильно ли реализовано удаление записей?

Изучаю Laravel, только начал
Делаю простенькую админку для одностраничника.
Не нашел примера как можно былобы сделать удаление записей
Сделал как придумал :)
Скорее всего есть более изящное решение этого вопроса
Можете указать на ошибки? Спасибо

Часть Контроллера
class SlideController extends Controller
{
    public function destroy($id){
        Slide::destroy($id);
        return redirect()->back();
    }
}


<!-- Делаем удаление записей -->
<div id="url" data-url="{{ $urlDel = Route::getCurrentRoute()->getPath() }}">
    {{ Form::open(array('route' => array('admin.slides.destroy', 0), 'method' => 'delete')) }}
    {{ Form::close() }}
</div>
<script>
    $('span.del').click(function(){
        var getId = $(this).data('id');
        var actionUrl = '/' + $('#url').data('url') + '/'+getId;
        var data = $('#url form').serialize();

        $.ajax({
            type: 'POST',
            url: actionUrl,
            data: data,
            success: function(data) {
                // 'tr#row'+getId - строка с ID порписан айдишник в шаблоне
                $('tr#row'+getId).fadeOut('slow');
            },
            error: function (data) {
                alert('Произошла досадная ошибка. Запись не была удалена. Попробуйте еще раз пожалуйста'+data);
            }
        });

        //$('#url form').attr('action', actionUrl).submit();
    })
</script>
<!-- Делаем удаление записей -->
  • Вопрос задан
  • 138 просмотров
Пригласить эксперта
Ответы на вопрос 1
Denormalization
@Denormalization
- Зачем форма? Там она совершенно не нужна
- Зачем return redirect()->back(); если запрос через ajax идет?
- На удаление принято ставить подтверждение (тот же alert('Вы точно хотите разрушить мир?'))
- Лучше использовать не POST, а DELETE (либо эмулировать POST + скрытое поле _method="DELETE")
-
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы