Ruby on rails 带有Ruby-HAML的空属性
我正在使用HAML在Ruby项目上实现模式微格式,但不知道如何在标记上设置空属性。我尝试了nil和false,但它们根本没有显示出来 示例:Ruby on rails 带有Ruby-HAML的空属性,ruby-on-rails,ruby,haml,Ruby On Rails,Ruby,Haml,我正在使用HAML在Ruby项目上实现模式微格式,但不知道如何在标记上设置空属性。我尝试了nil和false,但它们根本没有显示出来 示例: 我试图设置一个空的itemscope属性 @StrangeElement从注释中添加的代码: 我的代码: .agency.premium{:itemscope => true, :itemtype => 'schema.org/ProfessionalService';} :itemscope=>true似乎是HAML文档中推荐的方法。我得
我试图设置一个空的itemscope属性
@StrangeElement从注释中添加的代码:
我的代码:
.agency.premium{:itemscope => true, :itemtype => 'schema.org/ProfessionalService';}
:itemscope=>true
似乎是HAML文档中推荐的方法。我得到的结果与使用:itemscope=>''
得到的结果相同,这是一个带有空值的XHTML有效属性(即
)
也许可以,但我更希望它是空的,就像Schema文档中记录的那样
%div{:itemscope => true}
是在Haml文件中指定此项的正确方法
渲染方式取决于如何设置Haml。haml3.1中的默认值是xhtml
,使用它将呈现为itemprop='itemprop'
,这是有效的xhtml。要使用最小化属性(如
)进行渲染,需要将格式设置为html4
或html5
。(在Rails 3中,默认值是html5
,在Haml 4.0中,默认值是html5
)
如何设置Haml选项取决于您如何使用它,请参阅
例如,在Ruby中直接使用Haml,这:
engine = Haml::Engine.new '%div{:itemscope => true}'
puts engine.render
生成具有完整属性的默认xhtml:
<div itemscope='itemscope'></div>
<div itemscope></div>
使用最小化的属性生成所需的结果:
<div itemscope='itemscope'></div>
<div itemscope></div>
如果有人对如何用这种方式输入更多的单词感兴趣,他可以使用
“foo bar”=>true
:
%option{ "disabled selected value" => true } Choose an option
结果是:
<option disabled="" selected="" value="">Choose an option</option>
选择一个选项
并按预期工作。接受的答案可以工作,但它会生成一个带有值的HTML属性 如果希望属性仅在HTML上输出,而不输出值,则可以使用:
你能粘贴你的Haml代码吗?你试过空字符串吗<代码>%span{:itemscope=>''}我的代码:.agency.premium{:itemscope=>true,:itemtype=>''}.:itemscope=>true似乎是HAML文档中推荐的方法。我得到的结果与使用itemscope=>''得到的结果相同,这是一个具有空值(即)的XHTML有效属性。也许可以,但我希望它像schemadoc中记录的那样是空的。在你的帖子中,用`(backtick)字符包装你的标记,这样它就可以被看到。