Я использую метод выделения для обозначения слов в текстах. Итак, моя проблема заключается в том, что я пытаюсь выделить маленькие слова, которые могут быть «под-словами», чем другие. Напр .:Установить рельсы выделить только целые слова
highlight("a estimativa de tempo", ["tim", "oi"])
И возвращается выделить:
"a es<mark>tim</mark>ativa de tempo"
Но я нужен метод выделения, чтобы соответствовать только целые слова. Напр .:
highlight("a operadora tim", ["tim", "oi"]), returning:
"a operadora <mark>tim</mark>"
highlight("Oi anuncia", ["tim", "oi"]), returning:
"a operadora <mark>tim</mark>"
highlight("Operadora Tim declara", ["tim", "oi"]), returning:
"Operadora <mark>Tim</mark> declara"
спасибо, @hattenn! Я попробовал что-то подобное, и эта ошибка появляется. TypeError - нет неявного преобразования Regexp в String: actionview (4.1.1) lib/action_view/helpers/text_helper.rb: 126: in escape 'actionview (4.1.1) lib/action_view/helpers/text_helper.rb: 126: in block in highlight 'actionview (4.1.1) lib/action_view/helpers/text_helper.rb: 126: in map' actionview (4.1.1) lib/action_view/helpers/text_helper.rb: 126: in highlight '... –
@LuanSantos, я проверил документацию, а функциональность RegExp добавлена в версию 4.2.1, проверьте документы: http://apidock.com/rails/v4.1.8/ActionView/Helpers/TextHelper/highlight. Есть ли вероятность, что вы сможете обновить версию своего рельса? – hattenn
Спасибо, @hattenn! Я обновил рельсы, но теперь метод выделения не соответствует словам. Я использую вот так: 'text_marked = highlight (article.text, @ keywords.map {| k |/\ b # {k} \ b/i})' Где @keywords - это массив со словами: выделить в тексте. Что-то не так с этим использованием? –