我有带有“ td”的content_tag,必须在其中编写关于ruby的编码。我以以下方式写:
content_tag :td, class: "text-right<%= ' text-danger' if section.sum_control != (section.sum_self_summary + section.sum_sub_summary) %>", style: "width: 150px"
但这没有用,如何解决这个问题?
我将向模型添加一种方法来确定其状态,因为IMO视图不应包含依赖于模型属性的复杂条件:
# in the Section model
def sums_ok?
sum_control == (sum_self_summary + sum_sub_summary)
end
并为助手确定css类的方法:
def css_class_for_section(section)
css = ['text-right']
css << 'text-danger' unless section.sums_ok?
css.join(' ')
end
比content_tag
可能看起来像:
content_tag(:td, class: css_class_for_section(section), style: 'width: 150px')
此外,我认为从中删除样式标签td
并将其移入样式表是有意义的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句