مرحبًا بالجميع! أقوم بإنشاء نظام يتم فيه إنشاء الوسوم تلقائيًا، بحيث يمكن لكل شخص إنشاء وسوم!
بخصوص هذا الأمر:
- يتم إنشاء الوسوم على شكل إنشاء مواضيع
- إذا لم يكن هناك وسم ذكره الشخص، فسيتم تجاهله افتراضيًا في المنشور
كان هدفي هو إنشاء طريقة للوسم التلقائي، بحيث إذا لم يكن #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
أقدر مساعدتكم!