Я на самом деле думаю, что модуль - это лучший способ поделиться кодом между контроллерами. Хелперы хороши, если вы хотите поделиться кодом между представлениями. Помощники - это в основном прославленные модули, поэтому, если вам не нужен доступ на уровне просмотра, я предлагаю разместить модуль в вашей папке lib.
Если код действительно представляет собой набор утилит, которым не требуется доступ к состоянию объекта, я бы посоветовал поместить его в модуль, который будет вызываться отдельно.
Если код нуждается в состоянии и используется в подмножестве всех контроллеров, которые не очень тесно связаны, поместите его в модуль и включите в необходимые контроллеры.