スリムブロックに入るとjavascript:
ルビループもできないようです。
これをほとんど機能させることができました
- @spots.each do |spot|
javascript:
map.addMarker({
lat: #{spot.latitude},
lng: #{spot.longitude},
title: "spot"
});
しかし、それは呼び出しごとに個別のスクリプトタグを作成しますaddMarker
。これはかなりばかげているようです。
データを JSON としてページに配置してから、Javascript でループを実行することもできます。このようなもの:
javascript:
var spots = #{raw @spots.to_json};
var ii = 0;
var nspots = spots.length;
for(;ii<nspots;++ii) {
theMap.addMarker(spots[ii]);
}
このようなものが実行されるまでにそれが利用可能であることを確認したいでしょうtheMap
が、これでうまくいくかもしれません. 各 @spot の JSON 形式も確認する必要があります。JSON の設定方法に応じて、各スポットは次のようになります。
{'spot': { 'latitude': ###, 'longitude': ### } }
つまり、ループ内でオブジェクトを逆参照する必要があります。