كيفية تنفيذ كود من جانب الخادم عند النقر على زر؟

كيف يمكنني فعل شيء مثل،
عندما أنقر على زر مخصص، أريد تشغيل بعض التعليمات البرمجية من جانب الخادم.

على سبيل المثال، عند النقر على زر واحد، أريد تشغيل الملف Jobs/Secheduled/test_job.rb

أو هل يمكنني تشغيل التعليمات البرمجية الموجودة داخل هذا الملف عندما يزور شخص ما عنوان URL admin/plugins/my-plugin.

أنا مبتدئ في تطوير إضافات discourse، وأواجه صعوبة حقًا في فعل شيء كهذا، أي مساعدة ستكون موضع تقدير كبير.

إذًا، ستحتاج إلى إجراء طلب Ajax إلى نقطة نهاية تقوم بتشغيل هذا الرمز.

هل يمكنك قول المزيد عما تريد حدوثه من جانب الخادم؟

أريد تنفيذ الكود الموجود داخل الملف Jobs/Secheduled/test_job.rb

أو يمكنني القول إنني أريد تشغيل مهمة مجدولة.

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

أنت لا تزال تصف حلك ولا تصف المشكلة التي تحلها. ماذا تريد أن تفعل في هذا الملف؟ قد تكون هناك طريقة أفضل لتشغيله. معرفة ذلك ستجعل من السهل اقتراح شيء مشابه.

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

لدي مستخدم لديه عدد هائل من المشاركات. أريد حذف جميع مشاركات هذا المستخدم، ولكن زر الحذف الافتراضي للمشاركات يعطي خطأ 503. لذلك، كتبت رمزًا لجدولة مهمة cron للتشغيل كل دقيقتين وحذف 100 مشاركة في كل مرة.

فقط قم بتشغيله في وحدة تحكم rails ولا تكتب إضافة.

3 إعجابات

استخدم ميزات اللغة وقم بما يقترحه @pfaffman. كتابة خطاف واجهة أمامي مخصص لتحقيق ذلك هو أمر مبالغ فيه للغاية.

انظر: ActiveRecord::Batches

أنا لست على دراية بـ rails. هل يمكنك أن تريني الأمر لحذف المنشورات لهذا المستخدم

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

يمكنك محاولة البحث عن PostDestroyer

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

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

تم دمج 13 مشاركة في موضوع موجود: أواجه خطأ 502 أثناء محاولة حذف مواضيع أنشأها مستخدم معين