我有以下代码行:
truncate(blog.comments.first.try(:content), :length => 125)
问题是,如果内容为空,则返回nil
。如何防止rails输出nil
?
2 个答案:
答案 0 :(得分:2)
假设你想要一个空字符串
truncate(blog.comments.first.try(:content) || "", :length => 125)
答案 1 :(得分:1)
碰巧,NilClass实现了#to_s
,返回""
,所以:
truncate(blog.comments.first.try(:content).to_s, :length => 125)
然而,我很好奇:在什么情况下你有nil?
问题根据我的经验,erb模板在某些时候会调用显式转换#to_s
,所以任何类型(包括nil)都是实现显式转换器将毫不费力地工作。