Ruby on rails 在Rails 3.1中放置API链接的最佳位置在哪里

Ruby on rails 在Rails 3.1中放置API链接的最佳位置在哪里,ruby-on-rails,Ruby On Rails,我正试图找出Rails3中的资产管道,以便使用GoogleAPI "http://maps.google.com/maps/api/js?sensor=false" 第一个问题。最好将该链接放在views/layouts/application.html.erb或assets/javascripts/application.js中 第二个问题 如果我正在编写一个javascript函数,该函数从视图中的表单id获取其参数,那么我应该将该javascript函数放在哪里?它是否直接放在asset

我正试图找出Rails3中的资产管道,以便使用GoogleAPI

"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..

我不确定您是否可以将maps API放入
application.js
。至少上次我试的时候没用

application.js的总体思想是,所有在那里引用的内容都将在生产环境中自动缩小和压缩。因为这对于maps API是不可能的,我想你应该把它放到你的
视图/layouts/application.html.erb

还请注意,您可能不希望在所有页面上都包含maps API。您可以定义一个自身引用
application.html.erb
的布局,也可以使用partial或a只在需要的地方包含页面

我过去做过的一件事(可能有更好的方法)是在布局的头部部分定义一个占位符,然后使用该占位符注入只在少量页面上需要的脚本。像这样:

application.html.erb

<head> 
other stuff
<%= yield :scripts %>
...
</head>

其他东西
...
在需要谷歌地图的视图中:

<% content_for :scripts do %>
<script type="text/javascript" ..... ></script>
<% end %>


内容块中的任何内容都将输出到您放置

的位置。这不是对您问题的直接回答,但可能有助于您更好地理解资产管道。您能否更详细地解释如何使用部分和内容块来仅在选定位置包含API?