2011-07-26 4 views
2

私のレールアプリケーションでは、私はどこでクエリを検索する(params [:q])のようなSQLクエリを持っています。どのように私はそれを変更することができますクエリ/:qは、行のどこにでもないが、それと一緒にBEGINする必要がありますか?ここにコード:SQL where句 'は'で始まりますか?

AccountNumber.where("account_number like?", "%#{params[:q]}%") 

答えて

9

文字列から先頭の%ワイルドカードを削除します。ことを示しているに

AccountNumber.where("account_number like?", "#{params[:q]}%") 
+0

パーフェクト! (11分であなたの答えを受け入れない) –

1

ワイルドカード文字 '%' のようなフロント

に '%' を削除しますそこに任意の長さの文字列を見つけることができます。 #{params [:q]}で始まる結果だけを検索するには、最初の '%'を削除します。