我对Rails相对较新。
我有一个通过Devise的用户模型。我想知道在一个单独的Profile模型中为用户提供所需的所有附加字段是否更有效。
我遇到过类似的情况,我正在考虑创建一个新模型并使用has_one关联到该模型,但是如果我拥有属于User模型中用户的所有属性,它似乎会更清晰。你是如何处理这种情况的?它对应用程序性能有什么影响?
有人可以详细说明创建has_one关系的优缺点,特别是在性能方面。
答案 0 :(得分:0)
我也是Rails的新手,但这是我的看法......
我认为Rails中的关联的好处非常明显。在这种特殊情况下,我认为你可以采取任何一种方式。以下是一些需要考虑的事项......
如果您使用has_one关系,则必须记住,当您引用该配置文件时,您最终会得到与此类似的内容:
user = User.first
puts user.profile.first_name
puts user.profile.age
很简单,但是如果你想要user.first_name
这样的东西,你需要将该方法委托给Profile模型。这都是一个偏好问题。