Много времени, в частичном, HTML (или ERB или HAML), а также JavaScript находится в одном файле, поэтому когда основной файл будет включать эти partials, HTML будет смешан с кодом JavaScript.
Однако сказано, что для быстрого дисплея содержания страницы, весь код Javascropt должен быть помещен в конце файла HTML. В этом случае существует ли надлежащий или стандартный способ заставить это произойти? Возможно, использование 1 частичного как HTML и 1 частичное как JavaScript, и включает 2 различных partials (HTML как корректное место и JavaScript около конца файла?)
(Это связано с тем, Если блок кода JavaScript не в конце файла HTML, но использует $ jQuery (документ) .ready (функция () {...}), это замедлит отображение страницы?)
В свой файл макета вы можете поместить нижний колонтитул, в который вы можете загрузить свой Javascript (обычно такие вещи, как аналитика, которые не нужно загружать раньше). Затем определите в ваших представлениях content_for
, который включает ваш партиал Javascript. В результате этот Javascript будет размещен в конце страницы.
В макете:
<div id="footer">
<%= yield :footer %>
</div>
В ваших представлениях / разделах:
<% content_for :footer %>
<script type="text/javascript">
// Some Javascript
</script>
<% end %>
или
<% content_for :footer %>
<%= render :partial => "path_to_some_javascript" %>
<% end %>