आपको उस पहचान को हटाना होगा जो पहले उपयोगकर्ता को संदर्भित करती है। तब आप उपयोगकर्ता को हटा सकते हैं .. डिफ़ॉल्ट रूप से विदेशी कुंजी एक restrict
कर रही है इसलिए यदि कुछ भी इसका संदर्भ देता है तो आप उपयोगकर्ता को हटा नहीं सकते।
यदि आप पहचान को नष्ट करने के लिए रेल का उपयोग करना चाहते हैं तो आप कर सकते हैं
class User < ActiveRecord::Base
has_many :identities, dependent: :destroy
......
end
जिससे रेल सभी आश्रित अभिलेखों को नष्ट कर देगी।
लेकिन जैसा कि आप विदेशी कुंजियों का उपयोग कर रहे हैं, आप अपने माइग्रेशन को कैस्केड डिलीट सेट करने के लिए समायोजित कर सकते हैं
add_foreign_key :identities, :users, on_delete: :cascade
रेल 4.2 मानकर जिसका मूल समर्थन है