Jednoducho som vyhľadal aplikáciu pre koľajnice. Ale chcem, aby to fungovalo, dokonca aj pri zamiešaných kľúčových slovách. Ak mám napísaný tweet s textom „hello world“, môžem ho zoradiť tak, že napíšem „hello world“, ale nefunguje to, ak napíšem „hello world“. Ako to môžem opraviť? Tu je môj kód:
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
a pohľad
<%= form_tag(tweets_path, :method => "get", id: "search-form") do %>
<%= text_field_tag :search, params[:search], placeholder: "Search Tweets" %>
<%= submit_tag "Search" %>
<% end %>
Vďaka !
odpovede:
0 pre odpoveď č. 1Skúste to:
tweet.rb
def self.search(search)
search_string = search.split(" ").first ##split and search by first keyword
where("status LIKE ?", "%#{search}%")
end
pre full-text search
, môžete použiť akýkoľvek vyhľadávací nástroj ako slnečné