Ответ 1
Rails автоматически сгенерирует метод smart?
, если есть поле с именем 'smart'
.
В соответствии с идиомой Ruby использования вопросительного знака в булевых методах (например, person.is_smart?
), я хотел бы сделать то же самое для поля ActiveRecord в Rails:
rails generate model Person is_smart?:boolean
Я не выполняю вышеуказанный оператор. Я предполагаю, что поля базы данных не могут иметь знак вопроса в них. Рельсы справятся с этим надлежащим образом? Лучше всего просто оставить вопросительные знаки от моделей?
Использование Rails 3.2.8
Rails автоматически сгенерирует метод smart?
, если есть поле с именем 'smart'
.
На самом деле, я использую 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