Musisz najpierw usunąć tożsamość, która odwołuje się do użytkownika. Następnie możesz usunąć użytkownika.. Domyślnie klucz obcy wykonuje restrict
więc nie możesz usunąć użytkownika, jeśli coś się do niego odnosi.
jeśli chcesz użyć Railsów do obsługi niszczenia tożsamości, możesz to zrobić
class User < ActiveRecord::Base
has_many :identities, dependent: :destroy
......
end
Co spowodowałoby, że Railsy zniszczyłyby wszystkie zależne rekordy.
Ale ponieważ używasz kluczy obcych, możesz dostosować migrację, aby ustawić usuwanie kaskadowe
add_foreign_key :identities, :users, on_delete: :cascade
Zakładając, że rails 4.2 ma natywną obsługę