在下面的视图代码示例中,我可以避免两次使用@thing吗?我需要检查nil
,但视图变得非常混乱。
if @thing
@thing
end
或
@thing unless @thing.nil?
答案 0 :(得分:1)
如果你只是想输出@thing或什么都不是nil
,你应该能够做到:
<%= @thing %>
如果@thing是nil
,Ruby将调用Nil.to_s
,返回""
(即不会输出任何内容)。否则,它会调用@thing.to_s
答案 1 :(得分:0)
您可以尝试使用像[andand] [1。
这样的宝石观看对Alex的回复的评论,你可能会得到类似的结论:
isbn.pubdate.andand.strftime("%d %B '%y")
这将返回nil
或正确格式化的字符串,具体取决于pubdate是什么。