Rails API состояния:
Действие может содержать только один рендер или одно перенаправление. Попытка повторить попытку приведет к ошибке DoubleRenderError:
def do_something
redirect_to :action => "elsewhere"
render :action => "overthere" # raises DoubleRenderError
end
Если вам нужно перенаправить что-либо при условии, то обязательно добавьте «и вернитесь», чтобы остановить выполнение.
def do_something
redirect_to(:action => "elsewhere") and return if monkeys.nil?
render :action => "overthere" # won't be called if monkeys is nil
end
Обратите внимание на использование and return