「johndoe」を検索したときに、次のような名前のユーザーを返したいのですが。
「johndoe」、「John Doe」、「John Doe Jr。」、「Mr。John doe」...(可能であれば「JohnSr.Doe」)
これまでに行ったことは、ユーザーモデルで名前付きスコープを次のように定義したことです。
scope :by_name, lambda { |name| where('UPPER(name) LIKE ?', name.upcase) }
そして、私の/ users / searchで:
name = params[:name]
@users = User.by_name(name).paginate(page: params[:page], per_page: 10)
しかし、これは機能していません。まったく同じ名前のユーザーを大文字と小文字を区別して取得しています。したがって、「john doe」という名前のユーザーが存在する場合は、「johndoe」が返されます。私は何をする必要がありますか?
Rails3.2.3でMySQLを使用しています。
助けてください!!