Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rails-如何向布局标记添加html属性_Html_Ruby On Rails_Ruby_Haml - Fatal编程技术网

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

Rails-如何向布局标记添加html属性,html,ruby-on-rails,ruby,haml,Html,Ruby On Rails,Ruby,Haml,这就是我的应用程序布局页面的外观(这里是它的一部分) 有时(并非总是)我需要将“id”属性添加到.contentdiv。如何从html.haml页面执行此操作 注意:我的意思不是在运行时使用javascript来完成 更新:谢谢,但我忘了提到每个页面的“id”都不同。换句话说,每个html.haml页面可能都有自己的.content的“id”。您可以根据需要使用菊花链id和类 %html %body #main .content#random-id.random-clas

这就是我的应用程序布局页面的外观(这里是它的一部分)

有时(并非总是)我需要将“id”属性添加到
.content
div
。如何从
html.haml
页面执行此操作

注意:我的意思不是在运行时使用javascript来完成


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

的“id”。您可以根据需要使用菊花链id和类

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

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

.content{:id => "foo"}

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

%html
  %body
    #main
      .content{:id => (id_needed ? 'my_id' : nil)}
        = yield
还有另一个解决方案:

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

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

如果不定义
@content\u id
,则
.content
将没有id。

或更短:.content{:id=>id\need&&my\u id}
%html
  %body
    #main
      .content{id: @content_id}
        = yield

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