以下是我的视图模板的一部分。
%ul.property_list
%li.lastminute
%span.icon
%h5 #{house.lastminute}
%h6 #{house.lastminute_conditions}
%li.guest
%span.icon
%h5 #{house.guests}
有些房子有最后一刻的销售,有些则没有。如果填充了lastminute
属性,我想显示%li.lastminute
块。如果lastminute
属性为空,则不会显示%li.lastminute
。如何以及最佳方法是什么?视图中的条件?
答案 0 :(得分:1)
尝试
%h5 #{house.lastminute} if house.lastminute.present?
答案 1 :(得分:1)
%ul.property_list
%li.lastminute
%span.icon
- if house.lastminute
%h5 #{house.lastminute}
%h6 #{house.lastminute_conditions}
%li.guest
%span.icon
%h5 #{house.guests}
答案 2 :(得分:1)
是的,您必须在表示层(视图)中有条件。它也不错,因为你想在表示逻辑中改变什么(用户如何看待它)。
但我希望有一个帮助方法来处理你的登录
1 - 干净
2 - 如果您的条件逻辑变得更复杂,那么管理起来会更容易
我首选的解决方案是使用辅助方法
你帮助模块中的
def lastminute?(lastminute)
lastminute.nil?
end
在您的视图中
- if lastminute?(house.lastminute)
%li.lastminute
%span.icon
%h5 #{house.lastminute}
%h6 #{house.lastminute_conditions}
HTH:D