首页 > 解决方案 > HAML if else with table row

问题描述

我有以下代码:

  - if 0
    %tr{:style => "background-color: red"}
  - else
    %tr
      %td.main= database_manager.db_old_name
      %td= database_manager.db_type
      %td= database_manager.server
      %td= database_manager.instance
      %td= database_manager.host
      %td= database_manager.port
      %td= database_manager.last_read.localtime.strftime('%a, %d %b %Y %H:%M:%S')
      %td= database_manager.updated_at.localtime.strftime('%a, %d %b %Y %H:%M:%S')

这是行不通的。我的意图是在条件为 1 时突出显示该行,而不是在 0 时突出显示该行。

标签: rubyhaml

解决方案


您需要使用和比较控制器中定义的 haml 文件/视图中的变量。

- if @yourvariable == 0
    %tr{:style => "background-color: red"}
- else
  ...

推荐阅读