rails actionview:如果收到 nil 或其他内容,如何 "not show" 属性
rails actionview: How to "not show" attributes if receiving nil or something else
有没有一种简单的方法可以删除 tag
或 content_tag
助手的选项属性?
<%= content_tag :div, content, {
class: 'content',
style: styles_hash.map{|x| "#{x[0].underscore.dasherize}: #{x[1]}"}.join('; '),
data: {
hyperlink: (hyperlink if hyperlink.present?)
}
} %>
在这个例子中,我想知道如何删除 data-hyperlink
。即使我抛出 nil
或 false
,它仍然分别显示为 data-hyperlink="null"
或 data-hyperlink="false"
。如果不存在,我需要它不完全显示。
我得到了这样的解决方案,但我想知道是否有更好的解决方案,或者在 data
属性中?
<%= content_tag :div, content, {
class: 'content',
style: styles_hash.map{|x| "#{x[0].underscore.dasherize}: #{x[1]}"}.join('; '),
'data-hyperlink' => (hyperlink if hyperlink.present?)
} %>
有没有一种简单的方法可以删除 tag
或 content_tag
助手的选项属性?
<%= content_tag :div, content, {
class: 'content',
style: styles_hash.map{|x| "#{x[0].underscore.dasherize}: #{x[1]}"}.join('; '),
data: {
hyperlink: (hyperlink if hyperlink.present?)
}
} %>
在这个例子中,我想知道如何删除 data-hyperlink
。即使我抛出 nil
或 false
,它仍然分别显示为 data-hyperlink="null"
或 data-hyperlink="false"
。如果不存在,我需要它不完全显示。
我得到了这样的解决方案,但我想知道是否有更好的解决方案,或者在 data
属性中?
<%= content_tag :div, content, {
class: 'content',
style: styles_hash.map{|x| "#{x[0].underscore.dasherize}: #{x[1]}"}.join('; '),
'data-hyperlink' => (hyperlink if hyperlink.present?)
} %>