Question

I have the following variable in my controller:

class MyController < ApplicationController

  def my_method
    @status = "status"
  end
end

In my haml view, I tried following, but it doesn't work (since it's using the default .erb syntax):

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

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

How can I use the @status variable inside my inline JavaScript?

Was it helpful?

Solution

You can use the simple "#{}" interpolation tags to use ruby variables with HAML.

Your code:

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

Possible Solution:

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

OTHER TIPS

Use the normal string interpolation syntax (#{}).

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

:javascript
  alert(#{raw @status})

See also this previous SO question:

Inline ruby in :javascript haml tag?

Just like you would do in a ruby string :

:javascript
  alert("#{raw @status}")
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top