【问题标题】:How can I use a Ruby variable in an inline JavaScript in haml?如何在 haml 的内联 JavaScript 中使用 Ruby 变量?
【发布时间】:2014-03-16 12:36:01
【问题描述】:

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

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

【问题讨论】:

  • 除了my_methodme_method 可能出现的拼写错误,我找不到任何错误。

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


【解决方案1】:

您可以使用简单的“#{}”插值标签将 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?

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-04-02
        • 1970-01-01
        • 1970-01-01
        • 2016-05-03
        • 1970-01-01
        • 2013-03-03
        • 1970-01-01
        相关资源
        最近更新 更多