我现在在通过自己从头写一个简单的‘请求批准’ - Request For Approval webapp 来练手 Rails,在数据库设计这块琢磨不出最佳方案特来诚求大家的指点。
app 的业务逻辑不复杂:
我草拟了两套方案:
方案一将员工分成了 User 和 Superuser
方案二将员工都视为 User,但有不同的 role
rails 是可以 has_many belongs_to 自己的 只要
belongs_to :superior , class_name: :User, foreign_key: 'superior_id' has_many :users, foreign_key: 'superior_id'
记得把你的 superior 改成 superior_id
这个感觉就是需要一个树就完了,很多插件可以做的,比如这个:https://github.com/stefankroes/ancestry
#1 楼 @ZombieCoder 谢谢 Zombie,这我还真不知道,我去找点资料学习下 :D
#2 楼 @zlx_star 谢谢 zlx,我也去看看
应该把审批的业务,拉出来,放进 workflow engine 处理 比如 https://github.com/geekq/workflow
position 做成树,做权限和隶属。给 user 分配一个或若干个 position。