Devise + problem z nietypowym dodawaniem kont

Witam,

mam problem z Devise oraz z zakładaniem kont many-to-many w takiej konfiguracji:

Moja konfiguracja modeli:

class User < ApplicationRecord
  devise :database_authenticatable, :registerable, :recoverable,
         :confirmable, :lockable, :rememberable, :trackable, :validatable
  has_many :accounts_users, inverse_of: :user
  has_many :accounts, through: :accounts_users
  accepts_nested_attributes_for :accounts
end
class Account < ApplicationRecord
  has_many :accounts_users
  has_many :users, through: :accounts_users
  validates :identifier, presence: true, uniqueness: true
end
class AccountsUser < ApplicationRecord
  belongs_to :account
  belongs_to :user
  validates_uniqueness_of :account_id, scope: :user_id
end

No i widok:

= simple_form_for resource, as: resource_name, url: registration_path(resource_name) do |f|
  = devise_error_messages!

  = f.simple_fields_for :accounts, resource.accounts.build do |account|
    = account.input :identifier, autofocus: true

  = f.input :email
  = f.input :password
  = f.button :submit

I teraz tak… zakładanie kont działa, logowanie także. Problem jest podczas walidacji typu uniqueness dla emaila, gdyż za każdym razem wyświetla mi, że email już istnieje w bazie. Wiem że jest to spowodowane po części walidacją devise (:validatable) nie mniej jednak nie wiem jak tą walidację poprawnie zapisać dla modelu User.
Dodam, że użytkowniki może rejestrować się dowolną ilość razy w obrębie jednego konta (identifier z modelu Account). Tak więc każda kolejna rejestracja to powinna być nowa krotka w tabli accounts_users zaś pierwsza rejestracja w tabeli users także.

Macie jakieś podpowiedzi jak to poprawnie wykonać?
Dzięki