Как я могу использовать .capitalize внутри модели рельсов 3? - PullRequest
0 голосов
/ 16 декабря 2011

Кажется, что функция .capitalize! не работает внутри модели в Rails.

Есть ли способ обойти это? Между прочим, у меня есть действующее экономическое обоснование для использования этого в модели.

Вот код, который выдает мне ошибку:

def something
    ...
    str.strip
    str.capitalize!
end

Я получаю ошибку can't convert nil into String

Все работает, найди, если я уберу последнюю строку.

Редактировать: Извините, у меня был пердеть мозг! Исправлено.

Ответы [ 2 ]

4 голосов
/ 16 декабря 2011

Что не так с написанием только "string".capitalize!?

Это просто метод ruby ​​String, http://www.ruby -doc.org / core-1.9.3 / String.html # method-i-capitalize-21

upd

и, как теперь очевидно, проблема заключалась в том, что строка, которую вы пытались обновить, была nil

1 голос
/ 09 февраля 2012

Ошибка, которую я получаю, не может преобразовать nil в String

, это означает, что ваш объект str строкового класса равен nil, поэтому вы не можете выполнить это действие, поэтому вы можете использовать отладчик, например def что-то ...str.strip str.capitalize!завершите

и перейдите к терминалу и попытайтесь найти, что str имеет какое-то правильное значение, связанное с классом строки или его нулем, или имеет какое-то другое значение объекта

и еще одну вещь, если вы используете str.прописная буква!

означает, что она проверит, является ли строка первой заглавной буквой или нет, и в соответствии с этим вы получите ответ

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...