Я считаю, что проблема здесь в том, что вы переопределяете метод redirect_to, а не определяете его в новом месте.super
не может вызвать оригинал, потому что он больше не существует.
Метод, который вы ищете, это alias_method_chain
module ActionController
module Redirecting
alias_method_chain :redirect_to, :extra_option
def redirect_to_with_extra_option(options = {}, response_status = {})
if options
...
end
redirect_to_without_extra_option(options, response_status)
end
end
end
Хотя я думаю, что более дружественный для Rails способ переопределить redirect_to
в вашем ApplicationController
class ApplicationController
....
protected
def redirect_to(...)
if options
....
end
super
end
end
Преимущества этого подхода состоят в том, что вы не исправляете рельсы, и теперь в контроллере приложения установлен параметр для конкретного приложения.