Ruby / Rails / PostgreSQL PGError: синтаксическая ошибка в или около - PullRequest
1 голос
/ 28 октября 2010

Я получаю сообщение об ошибке в заголовке при попытке выбрать значение cookie из таблицы в базе данных postgresql, и я понятия не имею, почему. Выбор других полей в этой таблице работает нормально.

Вот строка, где она ломается:

user=UniqueUser.find(:all, :select => 'DISTINCT visitor_id', :conditions=> "visitor_id=#{visitorid}")

Столбец определяется как изменяющийся символ (255)

Вот ошибка:

187/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapt
ers/abstract_adapter.rb:219:in `log': PGError: ERROR:  syntax error at or near "
c5a" (ActiveRecord::StatementInvalid)
LINE 1: ...M "unique_users" WHERE (visitor_id=d5fb0ff2-319e-4c5a-b07c-a...

Похоже, Rails должен заключать кавычки вокруг поля данных в предложении where.

Я, конечно, не эксперт по Rails, поэтому может быть что-то действительно простое, что я делаю неправильно, и я ценю любую помощь.

1 Ответ

2 голосов
/ 28 октября 2010

Вы не экранировали свой ввод должным образом.Попробуйте это:

user = UniqueUser.find(:all, :select => 'DISTINCT visitor_id', :conditions=> ['visitor_id = ?', visitorid])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...