Rails:一种用于身份验证和配置文件信息的模型,或者两种单独的模型

hta*_*irt 5 authentication profile model ruby-on-rails

在许多教程中(尤其是用于身份验证的教程),演讲者说要将用户身份验证和配置文件信息放在称为“用户”的同一表(模型)中。

我的问题很简单:将所有内容放在一张桌子中是否安全?(奖金:这是最佳做法吗?)

我建议将身份验证信息(电子邮件,密码,盐,...)和配置文件信息(名字,姓氏,出生日期,位置,性别等)分开,分为两种模型:用户(用于身份验证)和配置文件,并通过has_one / belongs_to关联链接模型。

我错了吗?你对我有什么建议?

谢谢。

gab*_*lal 5

如果要遵循数据库规范化,则应分离表。但是,有时它不是最好的选择...例如,如果您的表users只有emailpassword(用于身份验证)和name。我不会创建profile用于存储的表格name,对吗?

因此,将取决于您的要求来做出设计决策。

我发现这个有趣的讯息吧,在那里@D罗迪斯解释这三种不同的方法的优点和缺点:Storing User Profile in Users TableStoring User Profile in User_Profile Table 1-1 relationship to usersStoring User Profile as properties and values in tables

希望对您有帮助...


Ton*_*son 1

我自己将它们放入单独的模型中。

有多少个操作同时作用于用户和个人资料?不多,两个构造中有很多东西需要彼此一无所知(或者除了 id 之外什么都不知道)。