2012-06-19 49 views
0

我有3種基本模式:用戶,權限和關聯模型稱爲UserPermissions所以用戶has_many :permissions, through :user_permissions軌從關聯表3負荷屬性

我的用戶權限表保存USER_ID,permission_id也是一個特權屬性,它是位掩碼。現在,當我詢問用戶他的權限我做這樣的事情:

@permissions = user.permissions 

,我得到那個特定用戶的相關權限的好的收集。我想這樣做的也是特權字段添加到結果反而使這個結果

{ 
    "id": 1, 
    "name": "User permissions", 
    "short_name": "user_permissions" 
} 

的我需要的東西是這樣的:

{ 
    "id": 1, 
    "name": "User permissions", 
    "short_name": "user_permissions", 
    "privilege": "..whatever the bitmask converts to" 
} 

我希望我做的意義。有任何想法嗎?

回答

0

你可以在權限類中添加一個方法來組成你的散列。類似於

class Permission 
    .... 

    def attributes_with_privilege 
     attributes.merge('privilege': user_permission.privilege) 
    end 

    ... 
end