私のレールアプリケーションでは、私はどこでクエリを検索する(params [:q])のようなSQLクエリを持っています。どのように私はそれを変更することができますクエリ/:qは、行のどこにでもないが、それと一緒にBEGINする必要がありますか?ここにコード:SQL where句 'は'で始まりますか?
AccountNumber.where("account_number like?", "%#{params[:q]}%")
私のレールアプリケーションでは、私はどこでクエリを検索する(params [:q])のようなSQLクエリを持っています。どのように私はそれを変更することができますクエリ/:qは、行のどこにでもないが、それと一緒にBEGINする必要がありますか?ここにコード:SQL where句 'は'で始まりますか?
AccountNumber.where("account_number like?", "%#{params[:q]}%")
文字列から先頭の%
ワイルドカードを削除します。ことを示しているに
AccountNumber.where("account_number like?", "#{params[:q]}%")
ただ、クエリ内のどこにでも使用することができ、この
AccountNumber.where("account_number like?", "#{params[:q]}%")
ワイルドカード文字 '%' のようなフロント
に '%' を削除しますそこに任意の長さの文字列を見つけることができます。 #{params [:q]}で始まる結果だけを検索するには、最初の '%'を削除します。
パーフェクト! (11分であなたの答えを受け入れない) –