0

在我的 Rails 应用程序中,我需要实现正则表达式来匹配文本开头、结尾和中间的任何位置的字符串。也就是说,如果查询词是“Gabbar Singh”,它应该匹配“Gabbar”或“Gabbar Singh”。我使用 % % 符号实现了它。它可以工作,但如果“Gabbar Singh”出现在单词中间,它就不起作用。例如,如果某些文本包含“#GabbarSingh”,则它不会显示该特定结果。

我的控制器代码行。

@tweets = Tweets.where("tweet_text LIKE?", "%#{search_term}%")

我的视图代码

<% @tweets.each do |tweets| %>

<ul>

  <li><%= tweets.id %></li>
  <li><%= tweets.tweet_created_at %></li>

  <li><%= tweets.tweet_source %></li>
  <li><%= tweets.tweet_text %></li>
  <li><%= tweets.user_id %></li>
  <li><%= tweets.user_name %></li>
  <li><%= tweets.user_sc_name %></li>
<li><%= tweets.user_loc %></li>
  <li><%= tweets.user_img %></li>
  <li><%= tweets.longitude %></li>
  <li><%= tweets.latitude %></li>
<li><%= tweets.place %></li>
  <li><%= tweets.country %></li>


<% end %>
</ul>

我希望我的结果匹配任何在字符串或单词中间也有“Gabbar Singh”的东西。任何人都可以帮我解决这个问题。

4

1 回答 1

0

你试过这样吗?

@tweets = Tweets.where("tweet_text ILIKE ?", "%#{search_term}%")

于 2013-08-19T05:58:42.650 回答