Я не уверен, что вы даже можете поместить API карт в application.js
.По крайней мере, у меня не получилось в прошлый раз, когда я пытался.
Общая идея application.js заключается в том, что весь контент, на который есть ссылки, будет автоматически уменьшен и сжат в производственной среде.Поскольку это невозможно для API карт, я думаю, вы должны поместить его в свой views/layouts/application.html.erb
. Также обратите внимание, что вы можете не включать API карт на всех своих страницах.Вы можете либо определить макет, который сам ссылается на application.html.erb
, либо использовать частичное, либо использовать content_for , чтобы включить страницу только в те места, где она вам нужна.
Одна вещь, которую яВ прошлом (возможно, есть и лучшие способы) было определить местозаполнитель в разделе заголовка макета, а затем использовать его для внедрения сценариев, которые требуются только на небольшом количестве страниц.Например:
application.html.erb
:
<head>
other stuff
<%= yield :scripts %>
...
</head>
А внутри вашего представления, требующего карты Google:
<% content_for :scripts do %>
<script type="text/javascript" ..... ></script>
<% end %>
Все, что находится внутри блока content_for, будет выводиться там, где выпоместил ваш <%= yield :scripts %>
.