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

发布于 2025-01-03 12:49:14 字数 886 浏览 0 评论 0原文

我决定将我的模板技术更新为 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|

但它是到目前为止还没有发挥作用。我已经在这里阅读了许多关于同一主题的其他问题,但我还没有真正找到“直接”的答案。

I decided to update my templating technology to HAML. I'm new to it, and wondered if this is possible at all:

: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 %>

It's easy to see that the parts of the code I'm having problems with are the ones related to Ruby code

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

or

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

I tried to change the latter to:

- @checkins.each do |checkin|

but it's not working out so far. I already read many other questions here about the same topic, but I haven't really been able to find a 'straight-forward' answer.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

蓝海似她心 2025-01-10 12:49:14

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

#{ @checkins.each.do |checkin| 

并将 end 语句替换为 }

同时将 <%= %> 替换为 签入.whateverproperty

Try replacing <% @checkins.each do |checkin| %> with

#{ @checkins.each.do |checkin| 

and replace your end statement with }

Also replace your <%= %> with just checkin.whateverproperty

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文