Как я могу все еще сделать gsub, даже если есть ноль? - PullRequest
4 голосов
/ 22 февраля 2011

У меня есть следующее, и оно взрывается, когда метод приходит "ноль"? Как я могу по умолчанию не использовать субтитры в этом случае?

 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. Как я могу предотвратить это в этом случае?

Ответы [ 2 ]

12 голосов
/ 22 февраля 2011

Я думаю, вы можете попробовать добавить .to_s к каждой переменной? ех. contact.first_name.to_s. Если это ноль, то оно станет "".

0 голосов
/ 23 января 2015

Я думаю, это было бы хорошим местом для троичного оператора.

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

если заголовок контакта существует, он будет использовать его, а если нет, то будет использовать «по умолчанию».

...