Я согласен, что это именно то, что наиболее характерно для вашего варианта использования. Как правило, когда я использую <% yield: javascript%>, его целью является добавление библиотек для конкретных страниц, что будет ограничением предложенного вами подхода. Если вы хотите поддержать оба, я сделал следующее:
(макет)
<head>
<% yield :javascript_libraries %>
<script type="text/javascript">
<% yield :javascript %>
</script>
</head>
(вид)
<% content_for :javascript do %>
$().whatever;
<% end %>
<% content_for :javascript_library do %>
<%= javascript_include_tag 'page-specific.js' %>
<% end %>
Конечно, большинство людей размещают библиотеки javascript внизу для оптимизации загрузки страниц, поэтому вы можете просто переместить их в свой макет.