Chr*_*nch 6 inheritance ruby-on-rails single-table-inheritance
我有一个名为users的基表,它包含有关用户的所有常见信息,如姓名,地址,电话号码等
我有另一个名为clients的表,它包含有关客户端的特定信息(例如客户端的公司名称及其URL),并从users表继承用户信息.客户端具有外键user_id,其映射回关于用户的信息.
我有另一个名为client_admins的表,它包含有关client_admins的特定信息,还有一个user_id字段和一个client_id字段(链接到clients表).
我有另一个名为super_admins的表,它链接到users表并具有关于超级管理员的特定信息.
我知道我可能会逃脱单表继承,因为每种类型之间没有很多不同的数据,只是不同的功能和特权.
在Rails 3中对此进行建模的最佳方法是什么?
在您的用户模型中:
has_one :client
has_one :client_admin
has_one :super_admin
Run Code Online (Sandbox Code Playgroud)
在您的客户端模型中:
belongs_to :user
has_one :client_admin
Run Code Online (Sandbox Code Playgroud)
在你的 client_admin 模型中:
belongs_to :user
belongs_to :client
Run Code Online (Sandbox Code Playgroud)
在你的 super_admin 模型中:
belongs_to :user
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1421 次 |
| 最近记录: |