我有这3个型号:
class UsuarioComun < ActiveRecord::Base
belongs_to :usuario
end
class Operador < ActiveRecord::Base
belongs_to :usuario
end
class Usuario < ActiveRecord::Base
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
has_one :usuario_comun
has_one :operador
end
所以我希望在UsuarioComun的注册中分别创建一个usuario和UsuarioComun,但我不能用它设计它只创建一个usuario,我怎么能解决这个问题?
答案 0 :(得分:0)
为避免混淆,您的UsuarioComun
模型似乎基本上是Profile
模型(存储身份验证过程中不需要的额外用户数据(个人资料图片,生日,姓名等)
配置文件强>
我们在大多数应用中实现了这一点:
#app/models/usuario.rb
Class Usuario < ActiveRecord::Base
has_one :usuario_comun
before_create :build_usuario_comun
end
#app/models/usuario_comun.rb
Class UsuarioComun < ActiveRecord::Base
belongs_to :user
end
users
id | email | password | etc
usuario
id | user_id | name | birthday | etc
这会在usuario_comun
模型中构建一个新的关联记录,这基本上意味着除了保存的user_id
列之外它是空白的
希望这有帮助吗?