مرحبًا،
يجب أن أتخطى عملية [bundle exec rake assets:precompile] في تطبيق ./launcher boostrap لأسباب أمنية، حيث لا ينبغي الوصول إلى قاعدة البيانات.
لقد قمت فقط بتعديل web-template لتخطي هذه العملية، وقد نجح ذلك في تشغيل discourse. لكن، تظهر شاشة فارغة فقط. هناك خطأ ما في الملفات المتعلقة بالأصول (assets) على النحو التالي:
discourse-details.js:1 فشل في تحميل المورد: استجاب الخادم بحالة 404 ()
discourse-local-dates.js:1 فشل في تحميل المورد: استجاب الخادم بحالة 404 ()
discourse-presence.js:1 فشل في تحميل المورد: استجاب الخادم بحالة 404 ()
discourse-narrative-bot.js:1 فشل في تحميل المورد: استجاب الخادم بحالة 404 ()
docker_manager.js:1 فشل في تحميل المورد: استجاب الخادم بحالة 404 ()
lazy-yt.js:1 فشل في تحميل المورد: استجاب الخادم بحالة 404 ()
poll.js:1 فشل في تحميل المورد: استجاب الخادم بحالة 404 ()
discourse-presence.js:1 فشل في تحميل المورد: استجاب الخادم بحالة 404 ()
docker_manager.js:1 فشل في تحميل المورد: استجاب الخادم بحالة 404 ()
lazy-yt.js:1 فشل في تحميل المورد: استجاب الخادم بحالة 404 ()
poll.js:1 فشل في تحميل المورد: استجاب الخادم بحالة 404 ()
المرجع: Rake assets:precompile without database
نقوم بتخزين السمات (themes) في قاعدة البيانات (يتم تحريرها في واجهة المستخدم للإدارة)، لذا فإن ملفات CSS موجودة داخل PostgreSQL، مما يعني أنك تحتاج إلى اتصال بقاعدة البيانات أثناء وقت البناء لتتمكن من تجميعها مسبقًا.
لذلك، نجحت في عملية “التجميع المسبق” (precompile) في منطقة غير آمنة باستخدام نفس قاعدة البيانات، وقد عملت بشكل ممتاز.
وقد تأكدت من وجود السمات وملفات CSS في قاعدة البيانات بنجاح.
لقد اتصلت بخادم “بدون تجميع مسبق” باستخدام نفس قاعدة البيانات، لكنني فشلت في الحصول على ملفات CSS و JS وملفات السمات.
أرغب في نسخ ولصق ملفات الأصول من المنطقة غير الآمنة إلى خادم المنطقة المستهدفة. ما هو مسار الدليل الذي يجب أن ألصق فيه الملفات؟ أو هل هناك أي إجراء آخر يجب اتخاذه؟
أو… هل هناك أي طريقة للحصول على الأصول (السمات، CSS، JS…) مع تخطي عملية “التجميع المسبق”؟
أتطلع إلى ردكم السريع. شكرًا لكم.