Как мне преобразовать текст в ссылку в rails

#jquery #ruby-on-rails #tags

#jquery #ruby-on-rails #Теги

Вопрос:

Я работаю над обычным приложением rails blog, мне нужно добавить функцию тега (тот же тег, что используется во всех социальных сетях).

Пример поста: «Я люблю #dogs». Что мне нужно сделать, так это отобразить тег #dogs как link_to dogs_path . Есть идеи?

Комментарии:

1. Не могли бы вы показать нам свой текущий код, что вы уже пробовали?

Ответ №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:

Вы можете создать ссылку из текста с помощью этого ERB в вашем HTML-файле: <%= link_to "#dogs", dogs_path %>

Где строка, следующая сразу за link_to , — это строка, которая будет заполнена как текст на странице (гиперссылка).

В вашем случае вы могли бы сделать что-то вроде:

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