如何从HAML中运行每个块:javascript?

时间:2012-02-07 18:37:45

标签: 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|

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

1 个答案:

答案 0 :(得分:1)

尝试用

替换<% @checkins.each do |checkin| %>
#{ @checkins.each.do |checkin| 

并将end语句替换为}

同样用<%= %>

替换您的checkin.whateverproperty