2011-01-12 9 views
5

私は検索、並べ替え、およびページ番号を自分のアプリに追加するためにRailscastに従ってきました。モデルの検索ロジックを変更して、列(説明とタイトル)を検索しました。これは機能しているようです。また、大文字小文字を区別しない検索に変更しました。これは私のローカルアプリケーションでは完璧に動作するようですが、私が英雄にプッシュすると、私は小文字でしか検索できません。大文字で検索すると、たとえケースが結果と一致しても結果が得られません。ここRails 3のMySQL構文ではありません。大文字と小文字は区別されます。Herokuでは動作しません。

は私のモデルのコードです:

def self.search(search) 
    if search 
     where('LOWER (description) LIKE ? OR LOWER (title) LIKE ?', "%#{search}%" , "%#{search}%") 
    else 
     scoped 
    end 
    end 
+0

私はこれがあなたの問題だとは思っていませんが、herokuはPostgresを使用しているので、MySQL特有の構文は動作しません(しかし、mysql特有のことはわかりません)。 – cam

+0

これは問題ではないはずです.PostgresにはLOWER機能もあります。 –

答えて

5

私も、この問題を抱え

where("LOWER (description) LIKE ? OR LOWER (title) LIKE ?", "%#{search.downcase}%" , "%#{search.downcase}%") 
+0

ありがとうDavid、しかしこれは残念ながらMySQLの構文エラー – Elliot

+0

を返しました(私はあなたの質問を誤解していました)。このクエリは機能しますか? –

+0

それは完璧に働いた! Davidに感謝します! – Elliot

関連する問題