jquery autocomplete gem завершается с ошибкой mysql2 в приложении Rails - PullRequest
0 голосов
/ 19 января 2012

Использование:

драгоценного камня jquery3-autocomplete в 1.0.5

драгоценного камня jquery-rails в 1.0.19

драгоценного камня mysql2 в 0.2.7

Gecom автозаполнения работает как положено в jquery, но я получаю ошибку mysql2:

  Job Load (0.4ms)  SELECT jobs.id, jobs.title FROM `jobs` WHERE (LOWER(jobs.title) ILIKE 'te%') ORDER BY jobs.title ASC LIMIT 10
Mysql2::Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ILIKE 'te%') ORDER BY jobs.title ASC LIMIT 10' at line 1: SELECT  jobs.id, jobs.title FROM `jobs` WHERE (LOWER(jobs.title) ILIKE 'te%') ORDER BY jobs.title ASC LIMIT 10
Completed 500 Internal Server Error in 131ms

ActiveRecord::StatementInvalid (Mysql2::Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ILIKE 'te%') ORDER BY jobs.title ASC LIMIT 10' at line 1: SELECT  jobs.id, jobs.title FROM `jobs` WHERE (LOWER(jobs.title) ILIKE 'te%') ORDER BY jobs.title ASC LIMIT 10):


# gemfile 
gem 'jquery-rails'
gem 'rails3-jquery-autocomplete'

# jobs_controller.rb
  autocomplete :tag, :name
  autocomplete :job, :title

# routes.rb
  resources :jobs do 
    get :autocomplete_tag_name, :on => :collection    
    get :autocomplete_job_title, :on => :collection    
  end

#chrome console
GET http://localhost:3000/jobs/autocomplete_job_title?term=te 500 (Internal Server Error)
f.support.ajax.f.ajaxTransport.sendjquery.min.js:4
f.extend.ajaxjquery.min.js:4
f.each.f.(anonymous function)jquery.min.js:4
f.extend.getJSONjquery.min.js:4
a.railsAutocomplete.fn.extend.init.a.autocomplete.sourceautocomplete-rails.js:16
d.widget._searchjquery-ui.min.js:326
d.widget.searchjquery-ui.min.js:326
(anonymous function)

У кого-нибудь есть какие-нибудь идеи?Я немного озадачен этим.Это работало раньше и сломалось недавно.Скорее всего, из-за bundle update я запустился, но я не могу отследить, кто был виновником, или подтвердить, что это действительно проблема.

РЕДАКТИРОВАТЬ: ИСПРАВЛЕНО: Я использую Heroku, поэтому у меня был PostgreSQLзагрузка драгоценного камня в моей среде разработки случайно.Среда разработки использует mysql.Это решило мою проблему - надеюсь, это поможет кому-то еще.

group :production do
  gem 'pg'
end

1 Ответ

0 голосов
/ 19 января 2012

Я использую Heroku, поэтому я случайно загрузил гем PostgreSQL в моей среде разработки. Среда разработки использует mysql. Это решило мою проблему - надеюсь, это поможет кому-то еще.

group :production do
  gem 'pg'
end
...