javascript - 如何从 HAML 的 :javascript? 中运行每个 block

标签 javascript ruby-on-rails ruby haml

我决定将我的模板技术更新为 HAML。我是新手,想知道这是否可能:

:javascript    
  <% @checkins.each do |checkin| %>
    var latLng = new google.maps.LatLng(<%= checkin.latitude %>, <%= checkin.longitude %>);

    var marker = new google.maps.Marker({
        position: latLng, 
        map: map,
        title: '<%= escape_javascript(checkin.title) %>'
    });

    google.maps.event.addListener(marker, 'click', function() {
      document.location = '<%= checkin_path(checkin) %>';
    });    
  <% end %>

很容易看出我遇到问题的代码部分是与 Ruby 代码相关的部分

<% @checkins.each do |checkin| %>

document.location = '<%=checkin_path(checkin) %>';

我试图将后者更改为:

- @checkins.each do |checkin|

但目前还没有成功。我已经在这里阅读了许多关于同一主题的其他问题,但我还没有真正找到一个“直接”的答案。

最佳答案

尝试替换 <% @checkins.each do |checkin| %>

#{ @checkins.each.do |checkin| 

并替换你的 end声明 }

同时替换你的 <%= %>只有 checkin.whateverproperty

关于javascript - 如何从 HAML 的 :javascript? 中运行每个 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9181864/

相关文章:

ruby-on-rails - 将不显眼的 JavaScript 与 Pusher 相结合

ruby-on-rails - 为什么在 Rails.cache.fetch block 中使用 "return"缓存失败?

ruby-on-rails - 如何将 Sidekiq (Redis) 队列移动到另一台服务器?

python - 如何在 Python 中执行此 Ruby if-with-and 并且不会使列表索引超出范围

javascript - Google Apps 脚本获取错误的持续时间值

javascript - 浏览器后退按钮不会破坏 PassportJS + ExpressJS 中的 session 。如何完全终止/终止 session ?

javascript - WebDriver NodeJS 使用功能实例化 IE 驱动程序 : introduceFlakinessByIgnoringProtectedModeSettings(ignoreSettings)

javascript - 更改纵向屏幕的 CSS(例如 iPad)

ruby-on-rails - Authenticated System 是一个开源的 FoR 模块吗?

c - 在 Ruby/Inline C 中接受未定义数量的参数