ne pouvez pas supprimer l'objet en raison de la contrainte de clé étrangère

Essayer de faire une simple user.destroy mais en cours d'exécution dans le message d'erreur suivant:

ERREUR: update ou delete sur la table "utilisateurs" viole la contrainte de clé étrangère "fk_rails_5373344100" sur la table "identités"
DÉTAIL: Key (id)=(2) est toujours référencé à partir de la table des "identités".

Voici ma migration des Identités

class CreateIdentities < ActiveRecord::Migration
  def change
    create_table :identities do |t|
      t.references :user, index: true, foreign_key: true
      t.string :provider
      t.string :uid

      t.timestamps null: false
    end
  end
end

Voici mon utilisateur et de l'identité modèle:

class Identity < ActiveRecord::Base
  belongs_to :user

  validates_presence_of :uid, :provider
  validates_uniqueness_of :uid, :scope => :provider

  def self.find_for_oauth(auth)
    find_or_create_by(uid: auth.uid, provider: auth.provider)
  end
end

et utilisateur:

class User < ActiveRecord::Base
  TEMP_EMAIL_PREFIX = '[email protected]'
  TEMP_EMAIL_REGEX = /\ricky@writeit.com/

  # Include default devise modules. Others available are:
  # :lockable, :timeoutable
  devise :database_authenticatable, :registerable, :confirmable,
         :recoverable, :rememberable, :trackable, :validatable, :omniauthable

  validates_format_of :email, :without => TEMP_EMAIL_REGEX, on: :update
...

end

Im nouvelle pour les clés étrangères et les références, donc je ne sais pas du tout comment résoudre ce problème. Toute aide serait grandement appréciée.

Grâce

InformationsquelleAutor Ricky Mason | 2015-04-09