Ruby / Rails / PostgreSQL PGError:语法错误在或附近

时间:2010-10-28 13:00:13

标签: ruby-on-rails ruby postgresql

当我尝试从postgresql数据库中的表中选择一个cookie值时,我在标题中收到错误,我不知道为什么。选择此表中的其他字段可以正常工作。

这是它破裂的路线:

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 个答案:

答案 0 :(得分:2)

您没有正确转发输入。试试这个:

user = UniqueUser.find(:all, :select => 'DISTINCT visitor_id', :conditions=> ['visitor_id = ?', visitorid])