Som nævnt i kommentarerne bruger de fleste databaser enkelte anførselstegn for strenge bogstaver og dobbelte anførselstegn for identifikatorer. MySQL er ret slap og vil også acceptere dobbelte anførselstegn for strenge bogstaver, men PostgreSQL er (heldigvis) ret streng. Så du vil bruge enkelte anførselstegn:
SnCl.all(:conditions => "col3 = 'xx'")
eller ved at bruge where
:
SnCl.where("col3 = 'xx'")
eller med fornuftig brug af databasedriverens tilbudsfaciliteter:
SnCl.where("col3 = #{SnCol.connection.quote('xx')}")
Og gemmer det bedste til sidst, sådan som fornuftige mennesker gør det ved at bruge en pladsholder eller Hash-argumenter til where
:
SnCl.where('col3 = ?', 'xx')
SnCl.where('col3 = :col3', :col3 => 'xx')
SnCl.where(:col3 => 'xx')
Den sidste ville være den mest idiomatiske for Rails, og de to ovenstående ville være nyttig til mere komplekse forhold, hvor kædeføring enten er for besværlig eller ikke virker (såsom når du har brug for en OR i din WHERE-klausul).