HAML 中的多个条件 类

Multiple Conditional Classes in HAML

使用 Ruby 和 HAML,是否有更短的方式来表示此逻辑:

%tr{class: "#{'success' if admin.approved?} #{'warning' unless admin.approved?}"}

谢谢!

您可以使用三元语句(一行if/else)简化逻辑:

%tr{class: admin.approved? ? 'success' : 'warning'}

或者您可以将逻辑移至助手。例如,在 application_helper.rb:

中创建一个辅助方法
def admin_row_class(admin)
  admin.approved? ? 'success' : 'warning'
end

然后在您的视图中使用助手:

%tr{class: admin_row_class(admin)}