【发布时间】:2012-11-05 18:29:44
【问题描述】:
我正在开发一个 RoR 应用程序,用户可以在其中创建列表并邀请其他用户加入他们的列表。我不确定我应该如何处理邀请数据模型。我会假设用户邀请模型相当普遍,但我没有找到任何好的示例。
我希望任何用户都能够邀请任何其他用户加入他们的列表。然后,受邀者(另一个用户)将能够接受或拒绝邀请。
我目前在用户和列表之间存在多对多关系。这两个实体 (lists_users) 之间的连接表是否应该包含有关邀请的信息?当用户接受或拒绝邀请时,创建另一个表、邀请并从中添加和删除记录会更好吗?如果后者是可取的,我应该如何处理列表所有者(用户)与列表受邀者(用户)?
感谢您的任何建议。谢谢!
解决方案
我发现有必要在用户模型中指定包含外键的表。即
has_many :owned_lists, :class_name => "List", :foreign_key =>"owner_id"
has_many :created_invitations, :class_name => "Invitation", :foreign_key =>"invitor_id"
has_many :received_invitations,:class_name => "Invitation", :foreign_key => "invitee_id"
-尼克
【问题讨论】:
标签: ruby-on-rails database-schema