使用STI

时间:2017-01-27 06:29:53

标签: ruby-on-rails devise ruby-on-rails-5 rolify

我是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

0 个答案:

没有答案