Как говорит Ajedi32, частичное использование принадлежит представлениям, но иногда полезно использовать их в помощниках. Надеюсь, полезно показать, что я сделал в своем приложении:
Я следил за прекрасной статьей Thinking of Rails Helper, чтобы помочь СУХОЙ нашей точке зрения . Я использую Jquery Mobile с фиксированным заголовком, навигационной панелью, панелью навигации и нижним колонтитулом.
На каждой странице мне нужно включить нижний колонтитул и панель навигации, поэтому обычно это было бы:
<div data-role="footer">
<h4>Page Footer</h4>
</div><!-- /footer -->
<%= render "shared/nav_panel" %>
</div><!-- /page -->
в конце каждой страницы.
Затем я реорганизовал частичную визуализацию в помощник приложения, и теперь она выглядит так:
# app/helpers/application_helper.rb
def page_footer
footer = content_tag :div , :"data-role" => "footer" do
content_tag :h4, "Page Footer"
end
nav_panel = render(:partial => 'shared/nav_panel')
footer + nav_panel
end
и в представлении я просто звоню:
<%= page_footer %>
Это всего лишь короткий пример; на самом деле приложение имеет нижний колонтитул, который изменяется в зависимости от статуса входа в систему, языка пользователя и т. д.