我是rails的新手,我有一个继承自用户名为partner的STI 我想做的是用户可以将他们的角色改为合作伙伴填充 一个表单,但我从设计注册,所以当用户想要更改他们的角色时,必须再次填写设计的注册表并添加一个新的电子邮件,名称,密码,以便我如何将用户信息传输给合作伙伴而无需创建全新的用户。 或者是否有其他方法可以更改角色,只需添加更多信息即可完成合作伙伴需要成为合作伙伴的信息 用户只需要电子邮件,密码和姓名,合作伙伴需要相同但添加电话号码,公司等。
class User < ApplicationRecord
rolify
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
has_attached_file :avatar, :styles => { :medium => "300x300>" , :thumb => "50x50#"}, :default_url => "/app/assets/images/thumb/missing.png"
validates_attachment_content_type :avatar, :content_type => /\Aimage\/.*\Z/
after_create :assign_default_role
def assign_default_role
self.add_role(:normal)
end
end
class Partner < User
has_many :service
after_create :assign_partner_role
def assign_partner_role
self.add_role(:partner)
end
end