Rails - 如何将html属性添加到布局标记

时间:2012-09-20 19:23:18

标签: html ruby-on-rails ruby haml

这是我的应用程序布局页面的样子(这是其中的一部分)

%html
  %body
    #main
      .content
        = yield

有时(并非总是)我需要添加" id"属性为.content div。如何从html.haml页面进行操作?

注意:我不想在运行时使用javascript进行操作。

更新:谢谢,但我忘了提及这个" id"每页的不同。换句话说,每个html.haml页面可能都有自己的" id" .content

4 个答案:

答案 0 :(得分:1)

另一种解决方案:

%html
  %body
    #main
      .content{id: @content_id}
        = yield

#some .html.haml page
- @content_id = "my_id"

如果您没有定义@content_id,则.content将没有ID。

答案 1 :(得分:0)

您可以根据需要直接连接ID和类

%html
  %body
    #main
      .content#random-id.random-class
        = yield

答案 2 :(得分:0)

您可以这样做,将id等属性添加到标记中:

.content{:id => "foo"}

答案 3 :(得分:0)

您可以通过ruby a Hash添加属性,并通过条件表达式设置值。

%html
  %body
    #main
      .content{:id => (id_needed ? 'my_id' : nil)}
        = yield