متابعة للنقاش من استخدام topic.destroy(id) لحذف المحتوى غير القانوني:
غير متأكد من كيفية حذف هذا الموضوع، لأنه يعيد خطأ.
![]()
بمجرد حذف هذا الموضوع، سيتم حذف الفئة أيضًا.
متابعة للنقاش من استخدام topic.destroy(id) لحذف المحتوى غير القانوني:
غير متأكد من كيفية حذف هذا الموضوع، لأنه يعيد خطأ.
![]()
بمجرد حذف هذا الموضوع، سيتم حذف الفئة أيضًا.
انقل الموضوع إلى فئة أخرى. إذا كنت تريد أن يكون هذا الموضوع غير مرئي، فانقله إلى فئة خاصة مثل فئة الموظفين على سبيل المثال. سيتم حذف الموضوع تلقائيًا بمجرد انتهاء الوقت المخصص لحذفه بالكامل.
حاولت الانتقال، لكنني أرى: عذراً، حدث خطأ.
الرسالة
NoMethodError (طريقة غير معرفة revise لـ nil:NilClass)
lib/topics_bulk_action.rb:101:in block in change_category' lib/topics_bulk_action.rb:98:in change_category’
lib/topics_bulk_action.rb:28:in perform!' app/controllers/topics_controller.rb:879:in bulk’
app/controllers/application_controller.rb:358:in block in with_resolved_locale' app/controllers/application_controller.rb:358:in with_resolved_locale’
lib/middleware/omniauth_bypass_middleware.rb:68:in call' lib/content_security_policy/middleware.rb:12:in call’
lib/middleware/anonymous_cache.rb:354:in call' config/initializers/100-quiet_logger.rb:23:in call’
config/initializers/100-silence_logger.rb:31:in call' lib/middleware/enforce_hostname.rb:22:in call’
lib/middleware/request_tracker.rb:176:in `call’
تتبع الأثر الخلفي
lib/topics_bulk_action.rb:101:in block in change_category' activerecord (6.0.3.3) lib/active_record/relation/delegation.rb:87:in each’
activerecord (6.0.3.3) lib/active_record/relation/delegation.rb:87:in each' lib/topics_bulk_action.rb:98:in change_category’
lib/topics_bulk_action.rb:28:in perform!' app/controllers/topics_controller.rb:879:in bulk’
actionpack (6.0.3.3) lib/action_controller/metal/basic_implicit_render.rb:6:in send_action' actionpack (6.0.3.3) lib/abstract_controller/base.rb:195:in process_action’
actionpack (6.0.3.3) lib/action_controller/metal/rendering.rb:30:in process_action' actionpack (6.0.3.3) lib/abstract_controller/callbacks.rb:42:in block in process_action’
البيئة
HTTP HOSTS: discuss.noisebridge.info
غير متأكد. مع نقل الموضوع، إذا حاولت تحديد الرسائل ونقلها
حاول ببساطة تعديل عنوان الموضوع وتغيير التصنيف هناك. إذا تم حذف الموضوع، فقد تحتاج إلى استعادته لتعديل العنوان.
تمكنت من تعديل عنوان الموضوع. لا يمكن نقله أو حذفه. ألاحظ أن فئة الموضوع ستتغير إذا حاولت نقله، ثم أرجع فورًا بعد لحظة.
في الواقع، هناك موضوعان في الفئة.
https://discuss.noisebridge.info/c/about/3
https://discuss.noisebridge.info/t/post/2
لا تظهر أي خيار للحذف. لا يمكن نقله. تمكنت من تغيير عنوان الموضوع.
رابط موضوع معطوب في فئة مختلفة
أرى أن هذا المنشور لا يمكن حذفه أيضًا. إذا حاولت حذفه، سيصبح لونه أحمر ولن ينتقل إلى أي مكان.
https://discuss.noisebridge.info/t/about/1992/1
هذا وصف الفئة. يظهر على أنه يحتوي على -1 ردود ولا يمكنني فتحه.
:( خطأ أثناء محاولة التحميل. حدث شيء خاطئ.
شكرًا على المساعدة!
حسناً، أرى 3 أخطاء في السجل. وهي:
الخطأ الأول
رسالة
ActiveRecord::StatementInvalid (PG::UndefinedTable: خطأ: العلاقة “categories” غير موجودة
LINE 1: SELECT categories.*, t.slug topic_slug FROM “categories” LEF…
^
)
(eval):105:in exec_params' app/models/site.rb:40:in categories’
app/models/site.rb:12:in initialize' app/models/site.rb:113:in new’
app/models/site.rb:113:in json_for' app/controllers/application_controller.rb:552:in preload_anonymous_data’
app/controllers/application_controller.rb:378:in preload_json' app/controllers/application_controller.rb:358:in block in with_resolved_locale’
app/controllers/application_controller.rb:358:in with_resolved_locale' lib/middleware/omniauth_bypass_middleware.rb:68:in call’
lib/content_security_policy/middleware.rb:12:in call' lib/middleware/anonymous_cache.rb:352:in call’
config/initializers/100-quiet_logger.rb:23:in call' config/initializers/100-silence_logger.rb:31:in call’
lib/middleware/enforce_hostname.rb:22:in call' lib/middleware/request_tracker.rb:176:in call’
تتبع الخلفية
rack-mini-profiler (2.2.0) lib/patches/db/pg.rb:69:in exec_params' rack-mini-profiler (2.2.0) lib/patches/db/pg.rb:69:in exec_params’
(eval):105:in exec_params' activerecord (6.0.3.3) lib/active_record/connection_adapters/postgresql_adapter.rb:675:in block (2 levels) in exec_no_cache’
activesupport (6.0.3.3) lib/active_support/dependencies/interlock.rb:48:in block in permit_concurrent_loads' activesupport (6.0.3.3) lib/active_support/concurrency/share_lock.rb:187:in yield_shares’
activesupport (6.0.3.3) lib/active_support/dependencies/interlock.rb:47:in permit_concurrent_loads' activerecord (6.0.3.3) lib/active_record/connection_adapters/postgresql_adapter.rb:674:in block in exec_no_cache’
activerecord (6.0.3.3) lib/active_record/connection_adapters/abstract_adapter.rb:722:in block (2 levels) in log' activesupport (6.0.3.3) lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in block (2 levels) in synchronize’
البيئة
HTTP HOSTS: discuss.noisebridge.info
الخطأ الثاني
رسالة (3 نسخ مُبلَّغ عنها)
ActiveRecord::StatementInvalid (PG::UndefinedTable: خطأ: العلاقة “categories” غير موجودة
LINE 1: SELECT categories.*, t.slug topic_slug FROM “categories” LEF…
^
)
(eval):105:in exec_params' app/models/site.rb:40:in categories’
app/models/site.rb:12:in initialize' app/models/site.rb:113:in new’
app/models/site.rb:113:in json_for' app/controllers/application_controller.rb:552:in preload_anonymous_data’
app/controllers/application_controller.rb:378:in preload_json' app/controllers/application_controller.rb:358:in block in with_resolved_locale’
app/controllers/application_controller.rb:358:in with_resolved_locale' lib/middleware/omniauth_bypass_middleware.rb:68:in call’
lib/content_security_policy/middleware.rb:12:in call' lib/middleware/anonymous_cache.rb:352:in call’
config/initializers/100-quiet_logger.rb:23:in call' config/initializers/100-silence_logger.rb:31:in call’
lib/middleware/enforce_hostname.rb:22:in call' lib/middleware/request_tracker.rb:176:in call’
تتبع الخلفية
rack-mini-profiler (2.2.0) lib/patches/db/pg.rb:69:in exec_params' rack-mini-profiler (2.2.0) lib/patches/db/pg.rb:69:in exec_params’
(eval):105:in exec_params' activerecord (6.0.3.3) lib/active_record/connection_adapters/postgresql_adapter.rb:675:in block (2 levels) in exec_no_cache’
activesupport (6.0.3.3) lib/active_support/dependencies/interlock.rb:48:in block in permit_concurrent_loads' activesupport (6.0.3.3) lib/active_support/concurrency/share_lock.rb:187:in yield_shares’
activesupport (6.0.3.3) lib/active_support/dependencies/interlock.rb:47:in permit_concurrent_loads' activerecord (6.0.3.3) lib/active_record/connection_adapters/postgresql_adapter.rb:674:in block in exec_no_cache’
activerecord (6.0.3.3) lib/active_record/connection_adapters/abstract_adapter.rb:722:in block (2 levels) in log' activesupport (6.0.3.3) lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in block (2 levels) in synchronize’
البيئة
HTTP HOSTS: discuss.noisebridge.info
الخطأ الثالث
رسالة
استثناء المهمة: PG::UndefinedTable: خطأ: العلاقة “application_requests” غير موجودة
LINE 1: SELECT “application_requests”.“id” FROM "application_request…
^
تتبع الخلفية
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-mini-profiler-2.2.0/lib/patches/db/pg.rb:69:in exec_params' /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-mini-profiler-2.2.0/lib/patches/db/pg.rb:69:in exec_params’
(eval)
in exec_params' /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/postgresql_adapter.rb:675:in block (2 levels) in exec_no_cache’
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/dependencies/interlock.rb:48:in block in permit_concurrent_loads' /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/concurrency/share_lock.rb:187:in yield_shares’
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/dependencies/interlock.rb:47:in permit_concurrent_loads' /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/postgresql_adapter.rb:674:in block in exec_no_cache’
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/abstract_adapter.rb:722:in block (2 levels) in log' /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in block (2 levels) in synchronize’
إذا كان عليّ التخمين، فقد قمتَ مؤخرًا بإعداد منصة Discourse الخاصة بك.
يتم دائمًا إنشاء منشور بعنوان “حول الفئة” عند إنشاء الفئة. أما المنشور الآخر فيبدو كواحد من منشورات الإعداد الأولية للنظام. ربما أعيد استخدام إحدى الفئات الخاصة الأولية.
قد نحتاج إلى شخص لديه معرفة أفضل. @codinghorror أو أحد أفراد الفريق.
لديك تصميم جميل كما رأيتُ.
عند زيارة الرابط https://discuss.noisebridge.info/c/about/3، أرى موضوعين. أفترض أن الموضوع الذي يحمل عنوان “About” هو موضوع “About” الخاص بفئة “About”. كان العنوان الأصلي للموضوع على الأرجح “حول فئة About”.
ينشئ نظام Discourse تلقائيًا موضوعًا بعنوان “About” لكل فئة تنشئها على الموقع. لا يلزم حذف هذا الموضوع قبل حذف الفئة. إذا كان كل شيء يعمل بشكل صحيح على موقعك، فيجب أن تتمكن من حذف الموضوع الآخر الموجود في الفئة ثم حذف الفئة نفسها.
إذا لم ينجح ذلك معك، فقد يكون ذلك لأن موضوع “About” دخل في حالة غير طبيعية - حيث يظهر في واجهة المستخدم على أنه يحتوي على -1 ردود، مما يوحي بأن شيئًا ما قد تعطل فيه. ربما تكون قد قمت بحذف المنشور الأول للموضوع من الواجهة الخلفية لموقعك. إذا كان الأمر كذلك ولم تعد قادرًا على حذف الفئة، فأخبرنا بذلك وسنحاول إيجاد حل.
نعم، هو مُحمَّل مسبقًا. أحاول التخلص منه بنقل جميع المنشورات إلى فئتنا العامة مع وسم site-feedback.
عندما أحاول حذف الفئة، أرى:
لا يمكن حذف هذه الفئة لأنها تحتوي على موضوع واحد. أقدم موضوع هو حول.
هل هذه الأخطاء المذكورة أعلاه مفيدة؟ شكرًا على ردود الفعل.
ما الذي تراه عند تشغيل الأمر التالي من وحدة تحكم Rails في موقعك:
Category.find 3
معرف الفئة التي تواجه مشكلة هو 3. ما أود معرفته هو قيمة خاصية topic_id لتلك الفئة.
#<Category:0x000055cde953bee0
id: 3,
name: “حول”,
color: “231F20”,
topic_id: 2,
topic_count: 1,
created_at: الخميس، 06 ديسمبر 2018 07:19:46 ت ع م +00:00,
updated_at: الخميس، 31 ديسمبر 2020 05:33:14 ت ع م +00:00,
user_id: -1,
topics_year: 1,
topics_month: 0,
topics_week: 0,
slug: “about”,
description: “كل ما يتعلق باستخدام Discuss وإضافة مقترحاتك لتحسينه.”,
text_color: “Ff0000”,
read_restricted: false,
auto_close_hours: nil,
post_count: 0,
latest_post_id: 9231,
latest_topic_id: 1992,
position: 1,
parent_category_id: nil,
posts_year: 0,
posts_month: 0,
posts_week: 0,
email_in: nil,
email_in_allow_strangers: false,
topics_day: 0,
posts_day: 0,
allow_badges: true,
name_lower: “about”,
auto_close_based_on_last_post: false,
topic_template:
“## هل أنت فضولي بشأن منتدانا؟ هل ترغب في معرفة المزيد؟\nتأكد من مراجعة ويكيانا للحصول على أي معلومات لا تجدها هنا.\n\nسيؤدي استخدام @help إلى التواصل مع متطوعينا المميزين.
\nسيؤدي استخدام @staff إلى التواصل مع جميع المشرفين والمديرين. تذكر أنهم متطوعون. :thank_you: \n\nإذا كنت تبحث عن مساعدة حول مشروع ما، فراجع فئة #projects لدينا.”,
contains_messages: nil,
sort_order: “”,
sort_ascending: nil,
uploaded_logo_id: 1349,
uploaded_background_id: nil,
topic_featured_link_allowed: true,
all_topics_wiki: true,
show_subcategory_list: false,
num_featured_topics: 5,
default_view: “”,
subcategory_list_style: “rows_with_featured_topics”,
default_top_period: “all”,
mailinglist_mirror: false,
minimum_required_tags: 0,
navigate_to_first_post_after_read: false,
search_priority: 0,
allow_global_tags: false,
reviewable_by_group_id: nil,
required_tag_group_id: nil,
min_tags_from_required_group: 1,
read_only_banner: “”,
default_list_filter: “all”>
معرّف الموضوع 2
لدي نفس المشكلة. معرف الفئة هو 89 (لذا فهو ليس غريبًا)، وعدد المواضيع هو 1 رغم وجود موضوع «حول» واحد فقط.
أعطتني هذه الفئة مشاكل. إنها فئة فرعية، ولأسباب غير واضحة، لم تظهر أي من منشوراتها في قائمة الفئة الأصلية (كانت الفئات الفرعية الأخرى على ما يرام). لذا قررت نقل المواضيع إلى فئة فرعية جديدة، وقد نجح ذلك. لكن لم يكن بإمكاني نقل موضوع واحد. افترضت أن هذا هو السبب، فحذفته عبر وحدة التحكم.
أظن أن العدّاد لم يتغير أثناء ذلك، مما تركني بهذه المشكلة.
كيف تقترح أن أزيل هذه الفئة المزعجة والآن غير النشطة دون التسبب في أي مشاكل إضافية؟