Подтвердить что ты не робот

Использование символа вопроса в имени столбца Rails/ActiveRecord

В соответствии с идиомой Ruby использования вопросительного знака в булевых методах (например, person.is_smart?), я хотел бы сделать то же самое для поля ActiveRecord в Rails:

rails generate model Person is_smart?:boolean

Я не выполняю вышеуказанный оператор. Я предполагаю, что поля базы данных не могут иметь знак вопроса в них. Рельсы справятся с этим надлежащим образом? Лучше всего просто оставить вопросительные знаки от моделей?

Использование Rails 3.2.8

4b9b3361

Ответ 1

Rails автоматически сгенерирует метод smart?, если есть поле с именем 'smart'.

Ответ 2

На самом деле, я использую Rails 4, и я не могу вызвать свой булевский столбец без вопросительного знака

pry(main)> User.where(is_validated: false).first.is_validated
  User Load (0.9ms)  SELECT "users".* FROM "users" WHERE "users"."is_validated" = 'f' ORDER BY "users"."id" ASC LIMIT 1
=> nil
[13] pry(main)> User.where(is_validated: false).first.is_validated?
  User Load (0.8ms)  SELECT "users".* FROM "users" WHERE "users"."is_validated" = 'f' ORDER BY "users"."id" ASC LIMIT 1
=> false