Codificando em um site semiprodutivo (está em preparação), o cliente queria redirecionar_para alguns lugares estranhos após algumas ações.
A maioria desses redirecionamentos anulou o propósito original da ação do controlador, então decidi implementar o padrão ” return_to
on params
” para substituir o redirecionamento à vontade.
class ApplicationController < ActionController::Base
def redirect_to(*args)
if (new_path = params[:return_to]).present?
logger.debug %Q|return_to found in params. Redirecting to "#{new_path}".|
super new_path, *args[1..-1]
else
super *args
end
end
end
Não consigo decidir se é genial ou hacky.