0

Books私は現在、本を含む詳細を保存するモデルを持っていisbnます。

私はこの方法で書籍を検索しています (実際には ISBN のみを使用しています)。

def self.search(search)
 search_condition = "%" + search.downcase + "%"
 find(:all, :conditions => ['(isbn LIKE ? OR lower(title) LIKE ? OR lower(author) LIKE ? OR lower(edition) LIKE ? OR lower(publisher) LIKE ?) AND removed_on IS NULL', search_condition, search_condition, search_condition, search_condition, search_condition])
end

気になるのは、ローカル マシンで「076374591X」を検索すると、その ISBN を持つすべての本が表示されるのですが、Heroku のアプリでは何も返されないことです。「X」を削除して「076374591」のみを検索してみましたが、両方で機能します。ISBN の「X」がそれを壊しているかのようです (ただし、サーバー上のみ)。

注意isbnしてください:string

この問題の原因は何ですか?どうすれば解決できますか?

4

1 に答える 1

1

ISBN の大文字と小文字を区別して検索しますが、最初に検索語を小文字にします。したがって、「076374591x」は見つかりますが、「076374591X」は見つかりません。

isbn も下げてみてください:

find(:all, :conditions => ['(lower(isbn) LIKE ? OR lower(title) ...
于 2012-09-18T12:13:57.853 に答える