ruby-on-rails - 当角色与外部模型具有不同的关联时,如何对用户角色进行建模

标签 ruby-on-rails ruby-on-rails-3 authorization roles

当角色与外部模型具有不同的关联时,如何对用户角色进行建模?

我有两个角色,老师和家长。老师有相关学校,但家长没有。这使得很难在单一模型中为教师和家长建模。

我不想单独对它们进行建模,因为它们的状态(字段)相同,并且它们都与子项具有“拥有并属于许多”(HABTM) 关联。

我尝试过使用单表继承(STI),它解决了我眼前的问题,但最终导致了更多问题。我希望有一个“组合优于继承”的解决方案。

最佳答案

如果你想保留一个类,条件关系可以帮助你

class User < AR
  has_one :school, conditions: { role: 'teacher' }
end

仍然有点古怪,但比 STI 更好

关于ruby-on-rails - 当角色与外部模型具有不同的关联时,如何对用户角色进行建模,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20480576/

相关文章:

ruby - 每当 ruby​​ 调度程序不起作用时,我错过了什么?

ruby-on-rails - 测试 Rails 应用程序的最佳方法是什么?

authentication - SignalR (.NET Core) 中的 JWT 身份验证,无需在查询字符串中传递 token

ruby-on-rails - Devise + CanCan 只是阻止其他用户编辑对象

macos - Swift 中的授权创建 (Xcode 6)

Kubernetes RBAC 限制用户在 Kubernetes 仪表板上仅查看所需资源

ruby-on-rails - 创建一个由 'order' 和 'products' [rails] 组成的 'quantities' 模型

ruby-on-rails - 让 simple_form 尊重我的空白/空标签

ruby-on-rails - 使用 CSV 库时流关闭 IO 错误

mysql - rails : Display Maintenance Page if No Database Connection Available