Мне интересно, существует ли какой-то конкретный принцип программирования (Demeter?), который поддерживает идею о том, что помощники Rails никогда не должны использовать переменные экземпляра контроллера, а должны получать такие переменные, как параметры функции. Например, предположим, что мое действие ChickensController#squawk создает переменную экземпляра с именем @egg. Кроме того, предположим, что представление squawk содержит вызов помощника под названием cockadoodledoo, реализованного так:
def cockadoodledoo
@egg.to_s
end
Было бы лучше или излишне подробно передавать @egg в качестве параметра, так что представление вызывает cockadoodledoo(@egg) и для помощника, чтобы он напоминал:
def cockadoodledoo(egg)
egg.to_s
end
Я надеюсь, что один из вас, счастливые хакеры, достаточно скучно в пятницу днем, чтобы ответить. Cockadoodledoo!