Вы уверены, что не хотите, чтобы premium
было :premium
?А еще лучше: как насчет:
@user.premium!
Лично я предпочитаю использовать форму enum
:
class User < ApplicationRecord
enum role: {
free: 0,
premium: 1
}
before_create :assign_default_role
def assign_default_role
self.role ||= :free
end
end
По причинам, обсуждаемым в документах .
Наконец, возможно, вам следует подумать о том, чтобы установить значение по умолчанию role
(с помощью миграции), чтобы вам не пришлось делать этот before_create
бит.