如何在文本太长时截断文本并突出显示搜索关键字

时间:2015-04-21 12:19:43

标签: ruby-on-rails ruby ransack

我在Ransack应用中使用gem Rails来获取搜索功能。我在搜索结果中突出显示搜索关键字参数:params[:search]。我使用highlight辅助方法

成功完成了它
<%= highlight(@description.slice(0..50), params[:search]) %>

如果关键字出现在50

的第一个@description字符之间,则此方法可以正常工作

但如果关键字出现在50个字符之后,如何通过限制字符数突出显示它。

我自己找到了解决方案,并将其作为答案添加。还有其他有效的解决方案吗?

1 个答案:

答案 0 :(得分:0)

excerpt辅助方法可用于提取与短语的第一个实例匹配的文本。

<%= highlight(excerpt(@description, params[:search], radius: 50), params[:search]) %>

有关TextHelper的更多详情:http://api.rubyonrails.org/classes/ActionView/Helpers/TextHelper.html