Еще один вопрос "почему так": я заметил, что к частным вспомогательным методам по-прежнему можно получить доступ в представлениях. Почему так? И есть ли способ предотвратить это (например, когда у вас есть вспомогательные методы, которые следует вызывать только из другого помощника)?
Почему доступ к закрытым вспомогательным методам по-прежнему возможен во взглядах?
Ответ 1
Я не думаю, что вы можете скрыть вспомогательные методы из представления. Вам нужно будет сделать что-то вроде класса-помощника, который вы создаете в помощнике, а затем делегируете на него вызовы - похоже, что это может стать беспорядочным, хотя.:)
Ответ 2
Помощники - это в основном небольшие фрагменты кода, которые можно вызвать в ваших представлениях, чтобы помочь сохранить ваш код DRY - то есть любой код, который вы повторяете регулярно, скорее всего, будет перенесен в помощника.
Использование помощников прост, каждый контроллер имеет свой собственный вспомогательный файл, или вы можете написать помощники в вспомогательном файле приложения, если он будет использоваться во всем приложении.
например - см. http://paulsturgess.co.uk/articles/49-using-helper-methods-in-ruby-on-rails