/ / Rails: Jednoduchý vyhľadávací formulár s kľúčovými slovami jambled - rubín-on-rails

Rails: jednoduchý vyhľadávací formulár s kľúčovými slovami - rubínovo-na-koľajniciach

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ď č. 1

Skú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é