Вы уверены, что вам нужен еще один столбец базы данных? Что вы могли бы сделать, это
- Добавить столбец
username:string
, который позволяет NULL
значения (по умолчанию)
- Проверьте модель, чтобы, если
anonymous
не отмечен, сохранение пустого имени пользователя недопустимо
- Проверьте модель, чтобы, если установлен флажок
anonymous
, имя пользователя всегда сохраняется как пустое (nil
), независимо от значения формы
- Когда вы позже проверяете, является ли сообщение анонимным, вы просто проверяете на
message.username.nil?
Если по какой-то причине вам нужен отдельный столбец БД для anonymous
, он должен выглядеть следующим образом:
rails g migration add_anonymous_to_message anonymous:boolean
Хотя не все RDBMS поддерживают boolean
столбцы (MySQL не поддерживает), Rails позаботится об этом, генерируя TINYINT(1)
или аналогичный столбец, когда вы указываете boolean
, для которого установлено значение 0
или 1
.