Rails アプリで、特定の条件に基づいてUsersモデルを検索しようとしています。
特に、文字列である場所フィールドがあり、検索文字列が含まれているかどうかに基づいてこのフィールドを検索したいと考えています。たとえば、場所が「オックスフォード」のユーザーを検索すると、「オックスフォード、イングランド」など、そのバリエーションを持つユーザーも返されるようにします。
これに対する答えをウェブで検索したところ、アクティブレコード検索で LIKE キーワードを使用する必要があるようですが、私にとっては、これは完全一致のみを返しています。
これは、検索メソッドからの私のコードのスニペットです
conditions_array = []
conditions_array << [ 'lower(location) LIKE ?', options[:location].downcase ] if !options[:location].empty?
conditions = build_search_conditions(conditions_array)
results = User.where(conditions)
私は何か間違ったことをしていますか?それとも、LIKE を使用して目的を達成するための正しいアプローチではありませんか?