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

时间:2014-02-17 09:31:32

标签: javascript ruby ruby-on-rails-4 haml

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

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变量?

3 个答案:

答案 0 :(得分:3)

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

您的代码:

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

可能的解决方案:

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

答案 1 :(得分:2)

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

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

:javascript
  alert(#{raw @status})

另见此前的SO问题:

Inline ruby in :javascript haml tag?

答案 2 :(得分:2)

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

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