【问题标题】:How do I parse text to a link in rails如何将文本解析为rails中的链接
【发布时间】:2019-03-13 19:54:48
【问题描述】:

我正在开发普通的 Rails 博客应用程序,我需要添加一个标签功能(与每个社交媒体使用的标签相同)。

帖子示例:“我爱#dogs”。我需要做的是将标签#dogs 显示为link_to dogs_path。有什么想法吗?

【问题讨论】:

  • 您能否向我们展示您当前的代码,到目前为止您尝试了什么?

标签: jquery ruby-on-rails tags


【解决方案1】:

您可以使用正则表达式扫描字符串并提取标签

示例

source = 'Lets #go to the #gym #today'

hashes = source.scan /\B#[á-úÁ-Úä-üÄ-Üa-zA-Z0-9_]+/

puts hashes

查看replit

创建辅助方法

class SocialHelper
  def linked_content(source)
    hashes = string.scan(/\B#[á-úÁ-Úä-üÄ-Üa-zA-Z0-9_]+/)
    hashes.each do |hash|
      source.gsub!(hash, hash_link(hash)
    end
    source
  end

  def hash_link(hash)
    link_to hashes_path(hash)
  end
end

查看

<%= linked_content(post.content) %>

【讨论】:

    【解决方案2】:

    您可以在 HTML 文件中使用此 ERB 建立文本链接:&lt;%= link_to "#dogs", dogs_path %&gt;

    紧跟在link_to 之后的字符串是将在页面上作为文本填充的字符串(超链接)。

    对于您的情况,您可以执行以下操作:

    <p>I love <%= link_to "#dogs", dogs_path %>.</p>
    

    【讨论】:

      猜你喜欢
      • 2022-01-20
      • 1970-01-01
      • 1970-01-01
      • 2013-03-19
      • 1970-01-01
      • 2018-11-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-09
      相关资源
      最近更新 更多