صورة واحدة لفئات متعددة

يوم سعيد،

لدي سؤال حول إمكانية تحميل صورة واحدة لفئة واستخدام نفس الصورة المحملة للفئات الفرعية والفئات الفرعية الفرعية. أدناه الهيكل

الفئة أ
    الفئة أ1
    الفئة أ2
    الفئة أ3
    الفئة أ4

الفئة ب
    الفئة ب1
        الفئة ب11
        الفئة ب12
    الفئة ب2
    الفئة ب3
    الفئة ب4
        الفئة ب41
        الفئة ب42

الفئة ج
    الفئة ج1
        الفئة ج11

الفئة د
    الفئة د1
    الفئة د2
    الفئة د3
    الفئة د4

الفئات أ..د لديها صورة للفئة. التنقل إلى المستوى الأول يعرض صورة تلك الفئة، والانتقال إلى المستوى الثالث لا يعرض الصورة لذلك يجب علي إضافتها يدويًا. للأسف لدي الكثير من الفئات (ليس اختياري) لذا فهي الكثير من العمل وتستهلك مساحة القرص على الخادم (نادني قديم الطراز، أنا معتاد على العمل مع أشياء ذات موارد محدودة للغاية).

الوراثة ستكون السعر الأول. طرق أخرى لتحقيق ذلك أحتاج فقط إلى تحميل الصورة مرة واحدة ويفضل عدم الاضطرار إلى تعديل كل فئة فرعية فرعية؟

لاحظ أنني مبتدئ تمامًا في Discourse، وأقوم حاليًا بتجديد موقع قائم على Discourse.

شكرا مقدما.

لا يفعل ذلك. يتم تخزين الصور بواسطة تجزئة، لذلك سيتم إنشاء/تخزين نسخة واحدة فقط بغض النظر عن عدد المرات التي يتم فيها تحميلها.

إذا كان لديك وصول إلى Rails، يمكنك القيام بشيء مثل هذا:

parent=Category.find_by_slug('category_a');
children=Category.where(parent_category_id: parent.id);
children.update_all(uploaded_logo_id: parent.uploaded_logo_id);

تمنع الفواصل المنقوطة اللاحقة Rails من وضع المخرجات في عارض، لذلك يمكنك لصق الأسطر الثلاثة دفعة واحدة. قد تتجاهلها عند تجربة هذا. يجب عليك عمل نسخة احتياطية والاستعداد لاستعادتها إذا لم تكن تجرب هذا أولاً على نوع من مواقع الاختبار أو المرحلة.

يمكنك اقتراح أن يقرأ رؤساؤك حان الوقت لنتحدث عن العلامات. أو ربما هناك سبب وجيه لجميع الفئات الفرعية. ما لم تكن بحاجة إلى تقييد الوصول إلى تلك الفئات الفرعية أو سيحتاج الأشخاص إلى مشاهدة/كتم تلك الفئات، فمن المحتمل أنها ستجعل الأمور أسوأ للجميع (باستثناء الشخص الذي يحصل على حقوق التفاخر بأن فكرته السيئة هي التي قبلتها الشركة بأكملها).

إعجاب واحد (1)

شكرا على الرد

هذا رائع، قلل من قلقي.

لدي فقط وصول إلى موقع الاختبار (الذي تستضيفه Discourse)؛ لذلك أشك في أن لدي وصول إلى Ruby :wink:

في هذه الحالة، يمكنك ابتكار شيء مشابه باستخدام واجهة برمجة التطبيقات (API)، ولكنك ستكون مسؤولاً عن ذلك. ستبدأ بـ الهندسة العكسية لواجهة برمجة تطبيقات Discourse. . .

اسمع، قلت إنني مبتدئ :rofl:

شكرًا على الرابطين اللذين قدمتهما :+1:

إعجاب واحد (1)

نعم. آسف. ما لم تكن جيدًا بالفعل في التفاعل مع واجهة برمجة التطبيقات (ربما باستخدام curl) ، أخشى أنك ستحتاج فقط إلى إجراء الكثير من النقرات.

إعجاب واحد (1)