我有一个Rails应用程序,它包含大约20页,只有我正在使用谷歌地图的两个页面。
是否有更好的方法可以在某些页面上独占加载Google Maps API脚本(在head标记中):
<%= javascript_include_tag "https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false" if params[:controller] == "shops" && params[:action] == "index" %>
答案 0 :(得分:5)
在布局文件的头部使用以下代码
<%= yield :head %>
然后在视图文件中为要包含javascript的页面执行此操作;
<% content_for :head do %>
<%= javascript_include_tag "https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false" %>
<% end %>
您可以将此content_for块放在视图文件中的任何位置,它将在您定义yield :head
此处有更多信息http://guides.rubyonrails.org/layouts_and_rendering.html#understanding-yield和http://guides.rubyonrails.org/layouts_and_rendering.html#using-the-content-for-method