我正试图弄清楚Rails 3中的资产管道来玩Google api
"http://maps.google.com/maps/api/js?sensor=false"
第一个问题。最好将该链接放在views / layouts / application.html.erb或assets / javascripts / application.js
中第二个问题
如果我正在编写一个javascript函数,从视图中的表单id获取其参数,我在哪里放置该javascript函数?它是直接在assets / javascripts / application.js中还是在其他地方放置javascript ..
答案 0 :(得分:3)
我不确定您是否可以将地图API放入application.js
。至少上次我尝试时它对我不起作用。
application.js的一般概念是,在那里引用的所有内容都将在生产环境中自动缩小和压缩。由于地图API不可能,我猜你应该将它放入views/layouts/application.html.erb
另请注意,您可能不希望在所有网页上都包含地图API。您可以定义一个本身引用application.html.erb
的布局,也可以使用部分布局或使用content_for仅将页面包含在您需要的位置。
我过去做过的一件事(可能有更好的方法)是在布局的head部分定义一个占位符,然后使用它来注入只在少量页面上需要的脚本。像这样:
application.html.erb
:
<head>
other stuff
<%= yield :scripts %>
...
</head>
在您的视图中需要谷歌地图:
<% content_for :scripts do %>
<script type="text/javascript" ..... ></script>
<% end %>
在您放置<%= yield :scripts %>
。