erbファイルの<script>タグ内でループ処理行いたいです。
ループの内容はgooglemapAPIのマーカーを各postが持つ位置情報毎に作成するというものです。
例えばループ対象が
@posts = Post.all
である場合あった場合、
➀scriptタグ内にrubyのループ書く
<script> <% @posts.each do |post| %> var markerOptions = { position:{lat: <%= post.latitude %>, lng: <%= post.longitude %>}, map: map }; var marker = new google.maps.Marker(markerOptions); <% end %> </script>
➁@postsをjsonにしてjsのループを書く
<input name="posts" type="hidden" value=<%= @posts_to_j %> class='posts'/> <script> var posts = $('.posts').val(); var posts_json = JSON.parse(posts); posts_json.map(post => { const marker = new google.maps.Marker({ position: {lat: post.latitude, lng: post.longitude}, map: map }); </script>
の2パターンでの実装を考えました
試してみたところ両方とも意図した動作をするのですが、
どちらを選択するのがベターなのか判断がつかないのでアドバイスを頂きたいです。
jsにはjsでのみの記述した方がいいのでしょうか?
よろしくお願いいたします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/10 14:59