Rails - 大型与分布式表

时间:2011-07-28 06:25:43

标签: database ruby-on-rails-3 devise models rails-models

我对Rails相对较新。

我有一个通过Devise的用户模型。我想知道在一个单独的Profile模型中为用户提供所需的所有附加字段是否更有效。

我遇到过类似的情况,我正在考虑创建一个新模型并使用has_one关联到该模型,但是如果我拥有属于User模型中用户的所有属性,它似乎会更清晰。你是如何处理这种情况的?它对应用程序性能有什么影响?

有人可以详细说明创建has_one关系的优缺点,特别是在性能方面。

1 个答案:

答案 0 :(得分:0)

我也是Rails的新手,但这是我的看法......

我认为Rails中的关联的好处非常明显。在这种特殊情况下,我认为你可以采取任何一种方式。以下是一些需要考虑的事项......

如果您使用has_one关系,则必须记住,当您引用该配置文件时,您最终会得到与此类似的内容:

user = User.first

puts user.profile.first_name
puts user.profile.age

很简单,但是如果你想要user.first_name这样的东西,你需要将该方法委托给Profile模型。这都是一个偏好问题。