如何解决尝试使用try时如何防止nil返回
| 我有以下代码行: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)都将毫不费力地工作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。