私はそのような状況を持っています:私はUsersテーブルを持っていて、タイプごとにユーザーを分けています:管理者、マネージャー、顧客。
マネージャーは、オーガナイザー モデル (オーガナイザー has_many マネージャー) でのみ作成でき、ネストされたフォームで作成されます。
誰かがすでに登録されている顧客の電子メールでマネージャーを作成しようとしている場合、顧客をマネージャーにアップグレードしたいと考えています。
現在の状況:
顧客の電子メールでマネージャーを作成しようとすると、データベース エラーが表示されます。Customer type -> to -> Manager を変更するための検証を行うことができますが、それでも Manager レコードを保存したいので、明らかに失敗して次のエラーが発生します。
ActiveRecord::RecordNotUnique:
PG::Error: ERROR: duplicate key value violates unique constraint "index_users_on_email"
どうすればこれを正しく処理できますか?
PSここに私のモデルコードがあります:
class Organizer
accepts_nested_attributes_for :managers
has_many :managers
___________________
class Manager < User
belongs_to :organizer
___________________
class Customer < User