【问题标题】:How can I highlight searched words in Rails?如何在 Rails 中突出显示搜索到的单词?
【发布时间】:2016-02-23 04:19:37
【问题描述】:

我已经四处寻找了一段时间,但似乎找不到一种广受好评的、可靠的方法来实现这一目标。

基本上,当用户在我的网页上搜索某些内容时,说 ADDM,然后当页面重新加载以显示搜索结果时,我希望每个条目都包含字母 ADDM 突出显示(甚至只是粗体)。

【问题讨论】:

标签: javascript jquery ruby-on-rails ruby


【解决方案1】:

由于您要重新加载页面,这意味着视图将被重新呈现,您可以在视图中使用 highlight 帮助器将搜索到的文本包装在 HTML 元素中。然后你可以为这些元素设置特定的样式。例如,假设您有一个search#show 操作,您将搜索文本存储在您的search 键中的params,您可以这样做:

# app/views/search/show.html.haml
- @results.each do |result|
  .result
    = highlight result.description, params[:search]

您可以为mark 元素(由助手生成)设置一些 CSS 来随意设置它们的样式,例如:

mark {
  font-weight: bold;
  background: #EFEFEF;
}

【讨论】:

  • 忘了说这种方法根本不需要javascript。
  • 我对您在没有嵌入 Ruby 表示法的情况下如何格式化视图中的代码感到有些困惑,您能否编辑您必须使其更清晰的内容?
  • 没关系,我明白了,谢谢你的帮助 :D ,比使用一堆 JS 优雅得多
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-05-21
  • 2017-12-04
  • 2011-12-20
  • 1970-01-01
  • 2014-02-13
  • 2023-03-17
相关资源
最近更新 更多