4

我有以下内容,当方法出现“nil”时它会爆炸?在这种情况下,我怎么能默认不替换?

 message.gsub("{FirstName}", contact.first_name).
         gsub("{LastName}", contact.last_name).
         gsub("{Title}", contact.title).
         gsub("{Company}", contact.company_name.clear_company).
         gsub("{Colleagues}", colleagues.to_sentence).

例如,当 contact.title 为 nil 时,我得到一个错误。在那种情况下,我该如何防止这种情况发生?

4

2 回答 2

12

我想你可以尝试附加.to_s到每个变量?前任。contact.first_name.to_s. 如果它是 nil,那么它将变为""

于 2011-02-22T06:17:06.137 回答
0

我认为这对于三元运算符来说是一个好地方。

.gsub("{Title}", contact.title ? contact.title : "default").

如果联系人标题存在,那么它将使用它,如果不存在,它将使用“默认”。

于 2015-01-23T15:50:58.317 回答