即时创建标签系统,当用户输入时,我希望结果在与用户输入的字符匹配的位置加粗
我的标签在哪里呈现在这里......
@tags = Tag.order(:name).where("name like ?", "%#{params[:term]}%")
render json: @tags.map{ |tag| {:label => "#{tag.name} x #{tag.count}", :value => tag.name} }
用户输入的内容可以从params [:term]中获取。是否有一个匹配函数,可以在用户输入时加粗相应的字符?
感谢
答案 0 :(得分:4)
控制器不是使用响应主体进行操作的最佳位置。但是,你可以这样做:
include ActionView::Helpers::TextHelper
放入控制器类。highlight
帮助程序。喜欢这里:
s = highlight('Ruby on Rails', 'rails', :highlighter => '<strong>\1</strong>')
# => "Ruby on <strong>Rails</strong>"