我正在建立一个实习网站。这就像twitter,我正在尝试添加类似hashtags的东西。
我有一个正在运行的正则表达式,我知道如何处理它的匹配但我无法弄清楚如何将标签链接到其他帖子中的相同标签。
此代码可能无关紧要,但无论如何它仍然存在:
class ImageUploadProcessor
include Sidekiq::Worker
sidekiq_options queue: `hostname`.strip
def perform(filename)
# process image
end
end
我甚至不知道这是否有效,因为我无法测试它,但我想用正则表达式替换匹配所有包含相同正则表达式匹配的帖子的链接。链接的代码可能应该在if语句正文中的逗号之后,但如果有人知道更好的解决方案,我很乐意听到它。
答案 0 :(得分:0)
嗯,在我看来,您需要创建一个名为HashTag
或Trend
的模型。每当用户创建帖子时,您需要通过AJAX远程创建Trend
对象。因此,您的Post
模型应如下所示:
class Post < ActiveRecord::Base
belongs_to :trend
end
class Trend < ActiveRecord::Base
has_many :posts
end
不要忘记将trend_id
添加到您的Post
模型中。并且您需要使用find_or_create_by
,以便当另一个帖子使用相同的趋势时,在数据库中不应创建趋势 ,而该帖子应仅与趋势相关联。
此后,您还需要显示属于趋势的所有帖子,还需要创建TrendsController
。每次用户输入趋势时,您的JS应突出显示它,并将其转换为点击后链接,将您带到属于该趋势的所有帖子。