[解決済み] Rails 4のLIKEクエリ - ActiveRecordは引用符を追加します。
2022-02-19 13:23:37
質問
私は以下のようなクエリを実行しようとしています。
def self.search(search, page = 1 )
paginate :per_page => 5, :page => page,
:conditions => ["name LIKE '%?%' OR postal_code like '%?%'", search, search], order => 'name'
end
しかし、これを実行すると、何かが引用符を追加し、SQL文は次のようになります。
SELECT COUNT(*)
FROM "schools"
WHERE (name LIKE '%'havard'%' OR postal_code like '%'havard'%')):
それで、私の問題を見ることができます。 私はRails 4とPostgres 9を使用していますが、どちらも使ったことがないので、activerecordの問題なのか、それともpostgresの問題なのかは分かりません。
どのように設定すればよいのでしょうか?
'%my_search%'
を最後のクエリに追加してください。
どのように解決するのですか?
プレースホルダーが文字列に置き換わっているのですが、その処理が間違っています。
置き換える
"name LIKE '%?%' OR postal_code LIKE '%?%'", search, search
と
"name LIKE ? OR postal_code LIKE ?", "%#{search}%", "%#{search}%"
関連
-
[解決済み】Rails。Ruby on Railsの移行でデータベースカラムの名前を変更するにはどうすればよいですか?
-
[解決済み】Athena: スケールファクターでリソースを使い果たすクエリ
-
[解決済み] データ型 varchar の変換エラー
-
[解決済み] Railsマイグレーションを利用してカラムをドロップする方法
-
[解決済み] MongoDBに "like "を使ってクエリを実行する方法
-
[解決済み] Ruby on Railsで現在の絶対URLを取得するにはどうすればよいですか?
-
[解決済み] エラーが発生しました。pgsqlをrailsで動作させようとすると、Peer authentication failed for user "postgres" と表示されます。
-
[解決済み] PostgreSQLで一重引用符で囲まれたテキストを挿入する
-
[解決済み] Rails 3.1 を使用して、「ページ固有」の JavaScript コードをどこに置くか?
-
[解決済み】Railsの認証トークンを理解する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】CREATE VIEW は、バッチ内の唯一のステートメントでなければなりません。
-
[解決済み] バックエンドバージョンでは、データベースのダイアグラムやテーブルのデザインはサポートされていません。
-
[解決済み】INTERSECTとINNER JOINは根本的に違うのか?[重複している]
-
[解決済み] ORA-12801: 並列クエリサーバー P004 および ORA-01555 でシグナルされたエラー: スナップショットが古すぎる。
-
[解決済み] SQL Server - 'RETURN'付近の、条件が想定されるコンテキストで指定された、非ブール型の式。
-
[解決済み] ora-06553 pls-306 'ogc_x' の呼び出しで引数の数または種類が誤っている。
-
[解決済み] Ruby On Rails で NuoDB を使用して SQL コマンドを手動で実行する方法
-
[解決済み] SQLでchar値をmoneyに変換できない
-
[解決済み] ORA-00997: LONG データタイプの不正使用に対する回避策
-
[解決済み] VBA - ADODB.CommandTextの実行