繁体   English   中英

Rails - 条件 html 属性

[英]Rails - conditional html attributes

环顾文档,我看不到有关此问题的正确方法 go。 下面是一个使用未重构代码的示例:

= link_to user.name, user, :meta => "#{user.public? ? '' : 'nofollow noindex'}"

现在这可能与任何 html 属性相同,结果是在条件未通过的情况下,由于空标记,我没有有效的 xhmtl。

<a href='/users/mark' meta=''>Mark</a>

我怎样才能使属性定义有条件,而不仅仅是它的价值。

使用nil而不是空字符串:

= link_to user.name, user, :meta => user.public? ? nil : 'nofollow noindex'

这个问题得到了解答,但我想提一个特殊情况,其中drasbo的方式不起作用。

如果要使属性存在条件。 input[type=checkbox]确认属性input[type=checkbox]

checked属性的存在会产生差异,遗憾的是浏览器倾向于忽略其值。

不幸的是,它没有HAML语法。 为此,您需要回退到标准HTML标记:

%form
  <input type="checkbox" "#{@post.tags.include?("Special Blog")? "checked" : ""}" />
  %button
    Click Me

这是一个老问题,但我一直在这样做(示例取自安妮的回答):

<input type="checkbox" <% :checked if @post.tags.include?("Special Blog") %> />

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM