Это условие поиска отлично работает в MySQL и SQLite, но не работает в PostgreSQL:
CONTROLLER:
@inventories = Inventory.search(params[:search], params[:page])
МОДЕЛЬ:
def self.search
paginate :per_page => 10,
:page => page,
:conditions => ['part_number = ? OR item LIKE ? OR catalognumber LIKE ?', "#{search}", "%#{search}%", "%#{search}%"],
:order => 'item'
end
ЭТО выдает эту ошибку в журнале HEROKU PostgreSQL:
ActiveRecord::StatementInvalid (PGError: ERROR: invalid input syntax for integer: ""
2011-06-11T20:25:46+00:00 app[web.1]: : SELECT * FROM "inventories" WHERE (part_number = E'' OR item LIKE E'' OR catalognumber LIKE E'') ORDER BY item LIMIT 10 OFFSET 0):
Как я могу это исправить?
РЕШЕНИЕ ... Это проблема использования LIKE, а не ILIKE
http://www.postgresql.org/docs/8.3/static/functions-matching.html