railscastsのチュートリアル189 Embedded Associationに従ってアプリケーションをセットアップします。だから、roles_maskはどのようにレールで動作するのですか
class User < ApplicationRecord
ROLES = %w[admin moderator author]
def roles= (roles)
self.roles_mask = (roles & ROLES).map { |r| 2** ROLES.index(r) }.sum
end
def roles
ROLES.reject { |r| ((roles_mask || 0) & 2** ROLES.index(r)).zero? }
end
def role_symbols
roles.map(& :to_sym)
end
end
私のモデルに私は私のusersテーブルに
t.Integer :roles_mask
を追加したチュートリアルと、次のようにすべてがフォームを使用して役割の追加や削除うまく動作します。しかし、私はどのようにコンソールからこれを達成できますか?それがどのくらい正確に機能するのですか?レールが整数値から文字列の役割を識別する方法は?