我正在实施一个登录系统,它需要收集大量用户数据,例如:
大学,课程,研究生,开始的一年,业余爱好,......大约20-30个。
将它们全部放入Devise是明智的吗?或者创建另一个模型来处理它?</ p>
答案 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列
,这种方法会更好