【发布时间】:2013-08-19 05:49:25
【问题描述】:
在我的 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”的任何内容相匹配。任何人都可以帮我解决这个问题。
【问题讨论】:
-
您似乎想要实现某种全文搜索。看看一些宝石,如太阳黑子、狮身人面像等。
-
数据库是 MySQL 还是 PostgreSQL?
-
数据库是mysql
标签: ruby-on-rails ruby