Лучше всего использовать помощники, когда код, который создает помощник, предназначен для отображения только в представлении.Например, если вы хотите иметь методы, которые помогают создавать HTML-ссылки, они должны идти в помощнике:
def easy_link user
link_to(user.name, user)
end
Если ваш код - бизнес-логика, он должен идти в ваших моделях.Вы также должны стремиться использовать как можно больше бизнес-логики в своих моделях, чтобы этот код не использовался в ваших представлениях и контроллерах.Например, если вы хотите обработать заказ, этот код должен идти в модели:
def process
raise NotReadyToProcess unless ready_to_process?
raise NotValidPaymentDetails unless valid_payment_details?
process_payment
end