2012-05-10 27 views
1

我在一个Occasion Reminder rails应用程序中工作,用户可以注册,然后设置某些未来的日期和节假日/应用程序将在未来通过电子邮件提醒他们的场合...此外,他们可以选择兴趣,电子邮件将包含相关在这些日期处理选定的兴趣..Rails DB Schema:新的独特模型还是属性?

无论如何,我的问题是非常简单的,我设置的应用程序的初始模型,我想知道如果日期/假日,然后兴趣应该是用户的属性模型/表格或自己的独特模型(在用户模型中设置has_many:interest association等)。

任何想法或建议非常受欢迎!

非常感谢!

回答

2

我会倾向于单独的模型,特别是为了利益。这使您可以轻松地查询它们,并将结果分组以显示数据的各种视图(例如,查找具有类似兴趣的用户,或者可能在特定日期前往同一事件的用户)。从数据库规范化的角度来看,单独的模型也是“正确的”答案。

这对您的计划根据用户的兴趣提供交易特别有用。

+0

好吧,我同意,使最有意义..我想有一个让用户选择约20“兴趣”的表单,所以我只是让兴趣表有一个字符串,如:self_interests ...多数民众赞成在所有我需要开始雅? – js111

+0

我将兴趣作为与用户拥有'has_and_belongs_to_many'关系的单独模型来设置。您可以填充一组初始兴趣,然后在您的闲暇时间添加更多。 – x1a4

+0

谢谢了。如何填充最初的兴趣?而has_and_belongs_to_many只需要一个没有模型正确的连接表? – js111