Rails:简单搜索表单,关键字无效

时间:2016-08-12 13:41:28

标签: ruby-on-rails

我已经对我的rails应用程序进行了简单的搜索。但是我想让它成功,即使关键字出现问题。 如果我有一个写有“hello world”的推文,我可以通过输入“hello world”对其进行排序,但是如果输入“world hello”它就不起作用。我该如何解决?这是我的代码:

tweet_controller.rb

def index
 @tweets = Tweet.all
  if params[:search]
    @tweets = Tweet.search(params[:search])
  else
    @tweets = Tweet.all
  end
end

tweet.rb

def self.search(search)
  where("status LIKE ?", "%#{search}%")
end

和视图

<%= form_tag(tweets_path, :method => "get", id: "search-form") do %>
  <%= text_field_tag :search, params[:search], placeholder: "Search Tweets" %>
  <%= submit_tag "Search" %>
<% end %>

谢谢!

1 个答案:

答案 0 :(得分:0)

试试这个:

tweet.rb

def self.search(search)   
 search_string = search.split(" ").first ##split and search by first keyword
 where("status LIKE ?", "%#{search}%")
end

对于full-text search,您可以使用任何搜索引擎,例如solar