5

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?

1
  • Except the possible typo my_method with me_method I can't find anything wrong. Commented Feb 17, 2014 at 9:35

3 Answers 3

6

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

Your code:

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

Possible Solution:

:javascript
    alert("#{@status}")
Sign up to request clarification or add additional context in comments.

Comments

3

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?

Comments

2

Just like you would do in a ruby string :

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

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.