私の Rails アプリケーションでは、一致する結果を表示するための一般的な検索があります。一致する結果を生成するために行ったことは、空白スペースを「%」記号に置き換えることです。完全に機能しますが、検索語の間にギャップがある場合のみです。単語を 1 つ入力すると、「一致する文字列がありません」と表示されます。
class TweetsController<ApplicationController
def index
city = params[:show]
search_term = params[:text]
search_term[" "] = "%"
city_coordinates = Coordinates.where('city=?', city)
@tweets = if (city_coordinates.count == 1 && city_coordinates.first.valid_location?)
Tweets.for_coordinates(city_coordinates.first) & Tweets.where("tweet_text LIKE?" ,"%#{search_term}%").all
else if (Coordinates.count != 1 )
Tweets.for_user_location(city) & Tweets.where("tweet_text LIKE ?" , "%#{search_term}%").all
else
@tweets = Tweets.where("%tweet_text% LIKE ? ", "%#{search_term}%").all
end
end
end
end
「Harbhajan Singh」、「VVS Laxman」などの 2 つの単語を入力した場合にのみ、出力が得られます。単一の単語を入力すると、一致する文字列がないと言っています。誰でもこれで私を助けてください。ユーザーが1語または2語以上を入力する方法の両方で出力が必要です。誰もがこれを手伝ってくれます。