1
我有一類稱爲User
和幾類用戶的角色(如Admin
,Contributor
,Member
)繼承形成User
類:多個基於角色的類 - 軌道4
class Admin < User; end
繼STI原則,roles
存儲爲jsonb
users表中,像這樣:
t.jsonb :roles, default: {
'admin': false,
'contributor': false,
'member': true
}
是否可以設置相應的子類ŧ o相應角色User
的實例。換句話說,這樣做:
u = User.create(...)
u.class #<= returns 'User'
u.grant_role(admin)
u.class #<= should return 'Admin'
我想用before_save
回調,這樣每次User
實例的實例或更新的,適當的類被選中。我在正確的軌道上嗎?