向Rails设计添加LOT属性

时间:2013-11-12 04:25:58

标签: ruby-on-rails model devise

我正在实施一个登录系统,它需要收集大量用户数据,例如:

大学,课程,研究生,开始的一年,业余爱好,......大约20-30个。

将它们全部放入Devise是明智的吗?或者创建另一个模型来处理它?<​​/ p>

2 个答案:

答案 0 :(得分:1)

在设计模型中放入这么多数据并不是一个好主意。总是从数据库中为每个请求获取设计模型记录。(您可以从日志中看到它)
您可以将其添加到另一个模型中并添加关联 例如你可以添加个人资料模型
假设您将用户模型作为设计模型 在第一次用户创建或用户登录后或根据您的要求,您必须负责创建配置文件记录。

class User < ActiveRecord::Base
  has_one   :profile, :dependent => :destroy
end

class Profile < ActiveRecord::Base
  belongs_to   :user
end

答案 1 :(得分:0)

您可以在user.rb

中创建具有此关联的user_info模型
has_one :user_info

On,sign_in它应该创建一个user_info实例,如果它不存在于数据库中 如果要添加20-30列

,这种方法会更好