У вас есть redirect_to как в суперклассе, так и в подклассе?В этом случае вам может потребоваться использовать флаг, например переменную сеанса, чтобы решить, использовать ли или пропустить redirect_to в суперклассе.
Devise использует похожую технику, например, когда нам нужно redirect_to aопределенная страница после входа в систему с помощью устройства devise.
ваш суперкласс
def method
...some logic...
if !session[:redirect_var].nil?
session.delete :redirect_var
redirect_to ....
end
end
ваш подкласс
def method
session[:redirect_var] = 'skip_redirect' # or whatever, just create a session variable to use as a flag
super
...some method...
redirect_to ....
end