30
votes

I'm using Haml as a quick way of prototyping layouts. This is not using Rails, Sinatra or any framework.

What I want to do is declare a variable at the top and be able to call it throughout the page, similar to the way I can declare a variable in Sass and use it throughout the code.

!!! 5
  %body
    / Declare Variable
    - $type = 'Audio'

    .container{:id => "page-#{$type}"}

Is this possible?

1
Prefixing a variable with $ in ruby defines it as global, which is probably not what you want. Drop the $ and just use type. - Casey Foster
yeah, it was. it was a completely foolish mistake on my part. thank you guys. and thanks for the heads up about the global variable as well. - Adam

1 Answers

51
votes

Drop the $ to avoid declaring a global variable. It should work just fine.

!!! 5
  %body
    / Declare Variable
    - type = 'Audio'
    .container{:id => "page-#{type}"}