Общий консенсус заключается в реализации метода, который хранит URL-адрес, к которому вы хотите вернуться в сеансе.Например, сохраните URL-адрес в session[:return_to]
, а в действии вашего контроллера используйте redirect_to session[:return_to]
.
Очевидно, я упрощаю это, и вам нужно что-то более надежное, обернутое, скажем, перед фильтром, которыйтезисы управления session[:return_to]
.См. Эти сообщения SO для идей:
Перенаправление из действия обновления на реферер редактирования
Правильное выполнение redirect_to: обратно в Ruby on Rails, когда реферернедоступно
В качестве альтернативы, один из простых подходов - просто добавить целевой URL для перенаправления в качестве скрытого параметра формы, например, hidden_field 'redirect_to', :value => foo_path
(мой синтаксис может быть неправильным).Ваше повторно использованное действие будет просто redirect_to params[:redirect_to]
.
. Я думал об этом на пути к работе, и должен быть драгоценный камень или какой-то лучший «декларативный» способ приблизиться к действию контроллера, перенаправляет / рендерит, который дополняет повторное использование,Я просто не могу думать о каких-либо драгоценных камнях на макушке.Время творить?