مرحبًا - أحاول رفع ملف CSV يحتوي على مجموعة من الوسوم، وفي كل مرة أحصل على رسالة خطأ تقول: “عذرًا، حدث خطأ أثناء رفع الملف. يرجى المحاولة مرة أخرى.”
توضح السجلات في لوحة الإدارة ما يلي:
رسالة (تم الإبلاغ عن 8 نسخ)
فشل معالجة الاستجابة المخترقة بشكل صحيح: فشل التحقق من الصحة: الاسم غير صالح
مسار التتبع
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.3.1/lib/active_record/validations.rb:80:in `raise_validation_error'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.3.1/lib/active_record/validations.rb:53:in `save!'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.3.1/lib/active_record/transactions.rb:318:in `block in save!'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.3.1/lib/active_record/transactions.rb:375:in `block in with_transaction_returning_status'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.3.1/lib/active_record/connection_adapters/abstract/database_statements.rb:278:in `transaction'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.3.1/lib/active_record/transactions.rb:212:in `transaction'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.3.1/lib/active_record/transactions.rb:366:in `with_transaction_returning_status'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.3.1/lib/active_record/transactions.rb:318:in `save!'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.3.1/lib/active_record/suppressor.rb:48:in `save!'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.3.1/lib/active_record/persistence.rb:55:in `create!'
لقد جربت إنشاء وسم وهمي، أي إدخال واحد فقط في ملف CSV (أي كلمة java)، وحصلت على نفس رسالة الخطأ.
ملاحظة: قمت بتثبيت Discourse على DigitalOcean باستخدام دليل التثبيت الرسمي، وكل شيء آخر يعمل بشكل صحيح.
شكرًا لك @codinghorror - لا تتردد في إخباري إذا وجدت أي شيء. إذا كان ذلك يساعد، فأنا أعمل على الإصدار 2.5.0.beta7 ( 14dc6f350e ) على Droplet بسعة 4 جيجابايت من الذاكرة العشوائية وقرص تخزين SSD بسعة 80 جيجابايت.
بصرف النظر عن ذلك، قمت بتثبيت الإضافات التالية: aksimet، formatting-toolbar، و discourse-voting.
لقد اختبرت هذا للتو على try.discourse.org. استخدمت محرر نصوص بسيط لإنشاء ملف CSV باسم tags.csv يحتوي فقط على كلمة java، وتمكنت من استخدام أداة رفع الوسوم الجماعية لإضافة الوسم الجديد دون أي مشكلة.
يحتوي موقع try.discourse.org على Akismet و discourse-voting، وأنا أشك بشدة في أن إضافة شريط تنسيق النصوص (formatting-toolbar) قد يتسبب في أي تضارب يؤدي إلى الخطأ الذي تواجهه.
هل يمكنك رفع الملفات دون مشاكل في سياقات أخرى (مثل المنشورات أو السمات، إلخ)؟
حسناً، لقد حاولت إعادة تسمية ملفي إلى tags-1.csv وما زلت لم أستطع تكرار الخطأ. إذا قمت بإعادته إلى tags-1.csv وحاولت الرفع مرة أخرى، هل سيفشل مرة أخرى؟ أتساءل عما إذا كان هناك شيء آخر يحدث في اسم ملفك الأصلي، وأن تغييره إلى tags.csv قد أصلح المشكلة بطريقة ما.
لا، لا يزال الأمر لا يعمل بالنسبة لي. كل ما أفعله على جهاز Mac الخاص بي هو:
$ vi tags-1.csv
ثم: i للدخول إلى وضع التحرير java esc للخروج من وضع التحرير :wq ثم Enter للحفظ والخروج.
هذا كل شيء. هذا الإجراء أيضًا يفشل. في البداية اعتقدت أن الأمر قد يكون مرتبطًا بتصدير ملف Excel إلى CSV، ولكن حتى التعديل عبر سطر الأوامر يثير مشكلات.
سأواصل العمل حاليًا باستخدام tags.csv، ولكن إذا كنت تعتقد أن هذا الأمر مهم وتود مني إجراء اختبارات، فسأكون سعيدًا بذلك. لقد حدث نفس الشيء على قطرتين مختلفتين مع تثبيتات جديدة، مما أثار قلقي.
أرى مشكلة أخرى (مرة أخرى، لست متأكدًا ما إذا كانت مرتبطة ببيئتي).
كانت وسومِي قائمةً بلغات برمجة. كنتُ قد أضفت C++ وC# إلى هذه القائمة، وبمجرد إزالتهما من ملف tags.csv، نجح التحميل الجماعي. أتساءل إذا كان لهذا علاقةً بكون الوسم ينتهي بحرف خاص. مرة أخرى، قد يكون الأمر خاصًا بي فقط
نعم! هذا بالتأكيد هو المشكلة. كنتُ أظن أننا نعمل فقط مع كلمة java في الملف بناءً على مشاركتك الأخيرة. ستحتاج إلى استخدام شيء مثل cpp أو c-sharp وما إلى ذلك.
نعم، أعتقد أن ذلك سيكون مثاليًا. رسالة الخطأ الحالية لا تمنح المستخدم الكثير من التوجيه:
عذرًا، حدث خطأ أثناء تحميل الملف. يرجى المحاولة مرة أخرى.
ملاحظة مثيرة للاهتمام لم أكن أعرفها: عند محاولة إنشاء وسم في سياقات إنشاء أو تحرير المواضيع العادية، يبدو أننا نقوم ببساطة بإزالة أي رموز. لذا فإن إدخال C++ يقترح C كوسم.
نعم، يبدو أن هذا هو الحال بالتأكيد. لقد وجدت المكان الذي يتم فيه إلقاء الخطأ العام في كود رفع الوسوم، لذا سأحاول إنشاء خطأ أكثر تحديدًا لهذه الحالة في طلب سحب (PR).