Спасение редиректа: назад после уничтожения в Rails? - PullRequest
3 голосов
/ 15 июня 2010

Я ищу наилучшее практическое решение, позволяющее продолжать использовать перенаправление: после успешного уничтожения можно удалить столько элементов из различных списков.

К сожалению, эта стратегия не работает для одного случая, когда удаление инициируется из самого представления элемента.

Какой подход вы рекомендуете в этой ситуации?

1 Ответ

5 голосов
/ 15 июня 2010

Вам нужно подумать, какое поведение вы бы хотели, если бы элемент был удален со своей страницы просмотра.

Я бы предложил один из двух вариантов:

Сохранение вашего redirect :back и реализация какого-либо второго перенаправления, если запрошенный ресурс больше не существует - т.е. /products/10 перенаправляет на /products

@product = Product.find_by_id(params[:id]) # although I admit I'm not sure
redirect_to products_path unless @product  # about this

Или изменить перенаправление, если конкретный путь совпадает с уничтоженным

@product.destroy # you might need to save the path before you destroy the object..
redirect_to :back and return unless request.referrer == product_path(@product)
redirect_to products_path

Я не думаю, что для такого сценария есть какой-то стандарт, но могу ли я быть исправленным?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...