私は何か非常にばかげたものを見逃していると感じていますが、一日中これで立ち往生していて、それを整理するものは何も見つかりませんでした. ファンシーボックスライトボックスが呼び出されたときにユーザーがマークされたマップをロードしたいのですが、次のコードは私が持っている最善かつ最小限のアプローチですが、私は得ています:
ReferenceError: 変数が見つかりません: google
= link_to image_tag('map.png'), map_vendor_path(@coupon.vendor), class: 'js-show-map'
:javascript
$(document).ready(function(){
$('.js-show-map').fancybox({
onComplete: function(){
Gmaps.loadMaps();
Gmaps.map.addMarkers([{"lng": "7.859409", "lat": "48.023551"}]);
}
});
});
リンクをクリックすると、次のビューが呼び出されます
map.html.haml
//
it's here just for test
= stylesheet_link_tag 'gmaps4rails.css'
= javascript_include_tag "gmaps4rails/gmaps4rails.base"
= javascript_include_tag "gmaps4rails/gmaps4rails.googlemaps"
= gmaps4rails(@vendor.to_gmaps4rails)
= yield :scripts
アプリケーション.js
...
//= require_tree ./templates
//= require_tree ./gmaps4rails
アプリケーション.css
//= require gmaps4rails
頭のソースコードをチェックしたところ、わかりました
<script src="/assets/gmaps4rails/gmaps4rails.base.js?body=1" type="text/javascript"></script>
<script src="/assets/gmaps4rails/gmaps4rails.googlemaps.js?body=1" type="text/javascript"></script>
ライトボックスにない場合、マップは正常に読み込まれます。どんな助けでも感謝します、ありがとう。