为了使Google Maps与Turbolinks正常工作,请将javascript标签直接添加到布局标题中,而不要在视图中包含它。
# app / views / layouts / my_layout.html.haml !!! %html{:lang => 'en'} %head - # ... = google_maps_api_script_tag
将google_maps_api_script_tag在一个辅助的最好解释。
# app / helpers / google_maps_helper.rb module GoogleMapsHelper def google_maps_api_script_tag javascript_include_tag google_maps_api_source end def google_maps_api_source "https://maps.googleapis.com/maps/api/js?key=#{google_maps_api_key}" end def google_maps_api_key Rails.application.secrets.google_maps_api_key end end
您可以向Google注册您的应用程序,然后在Google API控制台中获取您的API密钥。Google提供了一个简短指南,介绍如何为Google Maps JavaScript API请求api密钥。
api密钥存储在secrets.yml文件中:
# config / secrets.yml development: google_maps_api_key: '...' # ... production: google_maps_api_key: '...' # ...
不要忘记添加config/secrets.yml到.gitignore文件中,并确保没有将api密钥提交到存储库。