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