仅在Rails应用中的某些页面上加载Google Maps脚本

时间:2013-08-23 13:03:13

标签: javascript ruby-on-rails google-maps

我有一个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" %>

1 个答案:

答案 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-yieldhttp://guides.rubyonrails.org/layouts_and_rendering.html#using-the-content-for-method