Нет, вызов render не заканчивает ваше действие. render - это способ сообщить контроллеру, какой шаблон будет отображаться, если вы не хотите использовать шаблон по умолчанию, а не сообщать, что вы закончили обработку.
Возможно, вы захотите вызвать return после вызова render, если вы на самом деле сделали это.
Кроме того, вызов redirect (я предполагаю, что я не уверен) фактически отправляет заголовок Location в ваш браузер, но не завершает ваши действия. Вы должны вернуться или перейти после звонка, чтобы не вызывать его дважды.