gpt4 book ai didi

ruby-on-rails - 像在YouTube上一样,如何在用户评论中识别 '@'并建立链接

转载 作者:行者123 更新时间:2023-12-03 05:28:21 25 4
gpt4 key购买 nike

我想研究一下当用户输入评论时,Youtube在其网站上具有的功能,如果用户输入类似“@username”的内容,系统会识别出“@”符号,并链接到用户名的评论。我正在使用Rails 3进行开发,但有关此功能所需逻辑的任何信息将不胜感激。

编辑:附加的问题:在哪里为此放置逻辑的最佳位置?我想 Controller 将是这样,如果客户端没有javascript,它仍然可以工作。

最佳答案

我确信有多种(甚至更好)的方法可以做到这一点。我是怎么做到的-

解析输入字符串的函数:我编写了一个辅助函数-

  • 它遍历了帖子中的每个单词以及所有以'@'开头的单词
  • 对于每个此类单词,它都会检查用户是否存在于应用程序中。
  • 如果是,则用指向用户个人资料的链接替换单词。
  • 将新帖子(带有链接的帖子)写入数据库。
    def mention_users_and_tags(post)
    post_with_user_links = ""
    words = post.message.split
    words.each do |word|
    if word[0] =~ /^@.*/ and word.length > 1
    if extract_user_if_exists(word[1,word.length-1])
    post_with_user_links << "#{link_to "#{word}", :controller => "users", :action => "show", :id => @mentioned_user.id} "
    else
    post_with_user_links << word << " "
    end
    end
    end
    end

  • 编辑-我认为该方法应在模型中编写并在 Controller 中调用。这是我第一次在Rails中进行编码,所以我不确定一切进展顺利,因此我将其编写为辅助函数。但是现在我知道所有业务逻辑都包含在模型中。由于在帖子中提及用户可以被视为业务逻辑的一部分,因此我将在模型中为其编写一个函数。

    关于ruby-on-rails - 像在YouTube上一样,如何在用户评论中识别 '@'并建立链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10151579/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com