我有这样的情况:我有用户表,我按类型划分用户:管理员、经理、客户。
只能使用 Organizer 模型( Organizer has_many manager)创建管理器,并且它是在嵌套表单上创建的。
如果有人尝试使用已注册的客户电子邮件创建经理,我想将客户升级为经理。
现在的情况:
当我尝试使用客户的电子邮件创建经理时,它向我显示数据库错误。我可以进行一些验证以将客户类型 -> 更改为 -> 经理,但它仍然想保存经理记录并且显然失败并给我下一个错误。
ActiveRecord::RecordNotUnique:
PG::Error: ERROR: duplicate key value violates unique constraint "index_users_on_email"
我该如何处理这个RIGHT?
PS这是我的模型代码:
class Organizer
accepts_nested_attributes_for :managers
has_many :managers
___________________
class Manager < User
belongs_to :organizer
___________________
class Customer < User