Jun'uary
Jan'uary » 日志 » 在Rails启动的时候自动下载Google Maps Library
在Rails启动的时候自动下载Google Maps Library
Jan 发表于 2007-12-26 02:28:44
如果你用Google Maps做mashup, 不可避免的需要在网页中include google maps的javascript文件. 如果每个request都要通过访问google的服务器取得那个小小的js文件,未免太让人郁闷,尤其对于开发人员来讲. 很自然的,我们想要保存一个本地拷贝,但是依靠人肉下载的手段一来麻烦,二则容易忘记更新本地拷贝,万一google更新了api,你就挂了.
于是我让rails在启动的时候自动下载一份最新版本放到制定目录,这样每次重启rails server后你用的都是最新版本的api了.
添加一个新文件RAILS_ROOT/config/initializers/initialize.rb, 包含以下代码:
然后在你的layout里面直接javascript_include_tag "google_map_library"就行了. 如果你有svn, 还能保存所有google maps js的历史版本, 就不怕google又发布新版本导致网站一团糟了 :)
于是我让rails在启动的时候自动下载一份最新版本放到制定目录,这样每次重启rails server后你用的都是最新版本的api了.
添加一个新文件RAILS_ROOT/config/initializers/initialize.rb, 包含以下代码:
require 'open-uri'
#--------------------------------------------------
# use to download the latest google maps library when
# rails startup
#--------------------------------------------------
def download(from_link, to_dir, save_name)
open(from_link) do |stream|
File.open(File.join(to_dir, save_name), "wb") do |file|
file.write(stream.read)
end
end
end
gmap_include_js = "INSERT_YOUR_GOOGLE_MAPS_KEY_HERE"
download(gmap_include_js, "#{RAILS_ROOT}/public/javascripts", "google_maps_library.js")
然后在你的layout里面直接javascript_include_tag "google_map_library"就行了. 如果你有svn, 还能保存所有google maps js的历史版本, 就不怕google又发布新版本导致网站一团糟了 :)
曾经的这一天...
- » 2006年: 耶诞流水
- » 2006年: I still believe
相关日志:
收藏:
QQ书签
del.icio.us
订阅:
Google
抓虾
