2017-02-16 1 views
1

Если Person - это класс Rails ActiveRecord, а name - столбец таблицы с типом строки, то Person#name?, похоже, не соответствует действительности name. Например, если name установлен в пустую строку, строка является правдой, но name? возвращает false, по крайней мере, для Rails 3.2.x. Что добавляет вопросительный знак?В Rails ActiveRecord, что делает знак вопроса в конце имени метода, соответствующего столбцу?

Я попытался найти это, но вопросительные знаки не очень полезны или даже символичны.

An answer to "Using question mark character in Rails/ActiveRecord column name" упоминает, что ActiveRecord автоматически добавляет вопросительные знаки в имена полей (столбцов?), Но есть противоречивые комментарии к тому, что он делает.

ответ

3

Он вернет true, если поле present? или нет. Таким образом, пустая строка "" вернет false.

+1

Есть ли документы, подтверждающие это? –

+0

Пробовал это эмпирически, и это, кажется, так. –

Смежные вопросы