问题描述
|
我有以下代码行:
truncate(blog.comments.first.try(:content),:length => 125)
这里的问题是,如果内容为空,则返回nil
。如何防止滑轨输出nil
?
解决方法
假设您想要一个空字符串
truncate(blog.comments.first.try(:content) || \"\",:length => 125)
, 碰巧的是,NilClass实现了一个#to_s
,它返回了\"\"
,因此:
truncate(blog.comments.first.try(:content).to_s,:length => 125)
但是,我很好奇:在什么情况下ѭ7遇到问题,根据我的经验,erb模板有时会调用显式转换#to_s
,因此实现显式转换器的任何类型(包括nil)都将毫不费力地工作。