ruby on rails - كيف تحذف كائن ActiveRecord؟




ruby-on-rails (2)

  1. User.destroy

User.destroy(1) سيحذف المستخدم مع id == 1 و :before_destroy و :after_destroy تحدث الاستدعاءات. على سبيل المثال إذا كان لديك سجلات مقترنة

has_many :addresses, :dependent => :destroy

بعد أن يتم تدمير المستخدم سيتم تدمير عناوينه أيضا. إذا كنت تستخدم إجراء delete بدلاً من ذلك ، فلن تحدث عمليات الرد.

  1. User.destroy ، User.delete

  2. User.destroy_all(<conditions>) أو User.delete_all(<conditions>)

إشعار : المستخدم هو فئة والمستخدم هو كائن مثيل

كيف تحذف كائن ActiveRecord؟

نظرت إلى استعلام السجلات النشطة وليس لديها أي شيء على حذف يمكنني أن أرى.

  1. الحذف عن طريق id ،

  2. احذف الكائن الحالي مثل: user.remove ،

  3. هل يمكنك الحذف استنادًا إلى جملة where ؟


انها destroy و destroy_all الأساليب ، مثل

user.destroy
User.find(15).destroy
User.destroy(15)
User.where(age: 20).destroy_all
User.destroy_all(age: 20)

بدلاً من ذلك ، يمكنك استخدام delete و delete_all والتي لن تفرض :before_destroy و :after_destroy معاودة الاتصال أو أي خيارات ارتباط تابعة.

User.delete_all(condition: 'value') سيسمح لك بحذف السجلات بدون مفتاح أساسي





activerecord