ميزة العلامات التلقائية المكون الإضافي

مرحبًا بالجميع! أقوم بإنشاء نظام يتم فيه إنشاء الوسوم تلقائيًا، بحيث يمكن لكل شخص إنشاء وسوم!

بخصوص هذا الأمر:

  • يتم إنشاء الوسوم على شكل إنشاء مواضيع
  • إذا لم يكن هناك وسم ذكره الشخص، فسيتم تجاهله افتراضيًا في المنشور

كان هدفي هو إنشاء طريقة للوسم التلقائي، بحيث إذا لم يكن #test1 موجودًا، يتم إنشاؤه تلقائيًا وتحديث محتوى المنشور لتحديث الرابط الخاص بالوسوم وهكذا.

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

after_initialize do
   DiscourseEvent.on(:post_created) do |post, _, user|
      # تمرير من وسوم الفئة (#test:item1)
      tags= post.raw.split(' ').select{|t| t =~ /#/ && !t.include?(':')}
      tags.each do |t|
        tName= t.gsub('#', '')
        Tag.create_or_find_by(name: tName);
      end

      postAnalyzer= PostAnalyzer.new(post.raw, post.topic_id)
      cookedRaw= postAnalyzer.cook(post.raw)

      post.cooked= cookedRaw
      post.save

      post.publish_change_to_clients!(:revised, reload_topic: true)
   end
end

أقدر مساعدتكم!

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