Rails-根据角色显示数据的最佳做法

时间:2018-11-01 13:26:00

标签: roles user-roles

我有一个应用程序,起初仅由管理员角色进行管理。来自不同医生的输入数据。 现在,我想允许医生自行输入数据并查看其记录。有些医生被允许输入和查看其他医生的数据。 我需要这样的东西。

User has_one: :role
User has_one_or_many: :doctors

管理此问题的最佳做法是什么?

1)是控制器中的角色?

if role == ADMIN
   Bill.all
end
if role == DOCTOR
   Bill.where(owner_id: current_user.doctors)
end

2)在route.rb上添加约束,并为所有内容提供两个控制器?

get 'sample/url' => 'bills_controller#index', constraints: AdminRole
get 'sample/url' => 'bills_doctors_controller#index', constraints: DoctorRole

3)其他方式?


注意事项:

  • 根据角色,他们将有不同的查询。
  • 我只想显示用户所属的记录。他们不允许查看或修改其他医生的信息。
  • 我将对每个角色使用相同的视图
  • 这只是一个API。我在客户端使用AngularJS

0 个答案:

没有答案