如果关联不存在,我需要显示默认字符串。我现在这样做:
%td
- if m.winner.nil?
= 'No One'
- else
= m.winner.country
%td
- if m.mom.nil?
= 'No One'
- else
= m.mom.name
有没有一种巧妙的方法可以做到这一点?
答案 0 :(得分:4)
有几种方法可以做到这一点。我最喜欢的是使用委托。
选项1)添加到您的m模型
delegate :name, to: :mom, allow_nil: true
然后
m.mom.name || "No One"
选项2)如果你感到懒惰,也可以使用它
m.mom.name rescue "No One"
答案 1 :(得分:3)
请尝试使用以下代码。
%td
= m.winner.try(:country) || 'No One'
%td
= m.mom.try(:name) || 'No One'