Jun'uary

在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, 包含以下代码:

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又发布新版本导致网站一团糟了 :)
关键词(Tag): google maps rails initializer

曾经的这一天...


收藏: QQ书签 del.icio.us 订阅: Google 抓虾

最新评论

发表评论

* 昵称

已经注册过? 请登录

新用户请先注册 以便能显示头像及追踪评论回复

Email
网址
* 评论
表情
 
 

分类小组论坛
杂谈, 娱乐、八卦, 文学、艺术, 体育, 旅游、同城, 象牙塔, 情感, 时尚、生活, 星座, 科技

请注意遵守中华人民共和国法律法规, 如威胁到本站生存, 将依法向有关部门报告, 同时本站的相关记录可能成为对您不利的证据.

相关法律法规
全国人大常委会关于维护互联网安全的决定
中华人民共和国计算机信息系统安全保护条例
中华人民共和国计算机信息网络国际联网管理暂行规定
计算机信息网络国际联网安全保护管理办法
计算机信息系统国际联网保密管理规定

Jan'uary

人类一思考,老夫就发笑

搜索

日历