如何在haml中使用内联JavaScript中的Ruby变量?

问题描述 投票:4回答:3

我的控制器中有以下变量:

class MyController < ApplicationController

  def my_method
    @status = "status"
  end
end

在我的haml视图中,我尝试了跟随,但它不起作用(因为它使用默认的.erb语法):

#app/views/mycontroller/me_method.html.haml

:javascript
  alert(<%=raw @status %>)

如何在内联JavaScript中使用@status变量?

javascript ruby ruby-on-rails-4 haml
3个回答
3
投票

您可以使用简单的“#{}”插值标记将ruby变量与HAML一起使用。

你的代码:

:javascript
    alert(<%=raw @status %>)

可能解决方案

:javascript
    alert("#{@status}")

2
投票

使用普通字符串插值语法(#{})。

#app/views/mycontroller/me_method.html.haml

:javascript
  alert(#{raw @status})

另见此前的SO问题:

Inline ruby in :javascript haml tag?


2
投票

就像你在ruby字符串中所做的那样:

:javascript
  alert("#{raw @status}")
© www.soinside.com 2019 - 2024. All rights reserved.