【发布时间】:2018-05-19 23:45:08
【问题描述】:
我正在创建一个家务跟踪应用程序作为我的第一个 Rails 项目,我想知道我创建的关联是否有意义或可以改进。以下是应用程序的详细信息:
- 用户制作了一份杂务清单,并成为该清单的“所有者”(即“管理员”) 该列表。
- 所有者可以为列表创建/编辑杂务。他们还可以“批准”其他用户完成列表中的任务。这些用户只能完成任务。
- 拥有者除了通常的管理能力外,还可以完成 他们拥有的列表中的任务。
- 所有者可以拥有多个列表。用户可以被批准完成 多个列表中的任务。
以下是我粗略得出的关系,我正在寻找反馈:
(模型)用户
- has_many :lists
- has_many :owners, class_name: “List”, foreign_key: “list_id”
- has_many :chores, through: :lists
(模型)列表
- has_many :users
- has_many :家务
- belongs_to :owner, class_name: “User”, foreign_key: “owner_id”
(模型)用户列表
- belongs_to :user
- belongs_to :list
(模特)家务
- belongs_to :list
- has_many :users, through: :lists
任何危险信号?提前谢谢!
【问题讨论】:
标签: ruby-on-rails activerecord rails-activerecord