#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>