Время, когда я нахожу это наиболее необходимым, - это для написания флеш-памяти или пользовательских средств проверки ошибок. При некоторых обстоятельствах приятно использовать такие вещи, как помощники по ссылкам в флеш-сообщении. Я использую следующее решение для добавления помощников ActionView в контроллер. Имейте в виду, что, как упоминалось выше, это нарушает разделение MVC, поэтому, если у кого-то есть идея получше, дайте мне знать!
Ниже ApplicationController добавьте это:
class Something
include Singleton
include ActionView::Helpers::UrlHelper
end
и внутри ApplicationController добавьте
def foo
Something.instance
end
и, наконец, в контроллере, где вы хотите получить доступ к коду помощника:
messages << "<li class='error'>Your have an Error!<%= foo.link_to('Fix This', some_path) %></li>"
Надеюсь, это поможет!