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