【发布时间】:2012-05-18 00:18:49
【问题描述】:
我有以下表格:用户、朋友、兴趣和假期。这个应用程序的目的是记录用户的兴趣和他们庆祝的假期(包括朋友的生日、纪念日等)以及朋友的兴趣,以便我可以向他们发送相关内容的提醒。总之:
用户会有兴趣
用户将有朋友
朋友也会有兴趣
用户将有他们庆祝的假期(大约 10 个列表)
- 如果选择了母亲节、父亲节或情人节(在节假日),我还需要存储这些人的姓名和他们的兴趣
所以我想知道如何设置这些。棘手的是兴趣和假期。
兴趣应该是多态的,以便用户和朋友都可以访问吗?还是有很多 :through?
假期呢?这些将如何记录姓名和个人兴趣?
谢谢!我真的为这个而苦苦挣扎,可能事情过于复杂了..
【问题讨论】:
-
如果我和我的朋友注册,我的朋友既是朋友又是用户? (即两个不同的模型)如果它们是不同的模型,那么兴趣肯定与用户和朋友有多态关系,假期可能有一个,但您只是指定假期与用户相关,而不一定是朋友。
-
谢谢!不,该网站没有社交网络方面,用户是个人,与该网站的其他用户没有任何关系。 “朋友”的目的是让用户输入该人的生日日期,他们的兴趣,然后我将向他们发送与该朋友兴趣相关的优惠的提醒。与假期类似。如果用户选择“周年纪念日”,我会询问他们该人的姓名、日期和兴趣,以便我可以向他们发送相关优惠。有道理?非常感谢!
-
好的,下一个问题 - 是否打算在用户之间共享兴趣,例如可以将单个兴趣记录连接到多个用户/朋友,或者兴趣只是字符串?
-
嗯,有一个包含 30 个兴趣的列表,我将用这些列表为数据库播种.. 他们必须从该列表中选择,不能添加任何其他.. 但它们只是字符串,所以每条记录我猜会属于一个独特的用户吗?.. 谢谢
-
没必要。
have_and_belongs_to_many就是为了这个。将留下我将如何建模的答案。
标签: ruby-on-rails database ruby-on-rails-3 activerecord polymorphic-associations