Standardní SQL řetězce používají jednoduché uvozovky, dvojité uvozovky jsou pro identifikátory (jako jsou názvy tabulek a sloupců); PostgreSQL se zde řídí standardem, MySQL a SQLite jsou méně přísné, jiné databáze dělají jiné věci s různou mírou přísnosti. V každém případě by jednoduché uvozovky pro řetězcové literály SQL měly fungovat všude stejně.
V řetězci SQL používáte dvojité uvozovky:
@holidays = Holiday.find(:all, :conditions => 'state = "requested"')
#------------------------------------------------------^---------^
Musíte zadat jednoduché uvozovky:
@holidays = Holiday.find(:all, :conditions => %q{state = 'requested'})
nebo jej modernizujte a nechte ActiveRecord, aby se s citací vypořádal:
@holidays = Holiday.where(:state => 'requested')
Pravděpodobně budete muset opravit citaci i u tohoto:
@holidays = Holiday.find(:all, :conditions => ["approver_id = #{current_user.id}", "state = requested"])
Opět platí, že modernizace je nejjednodušší způsob:
@holidays = Holiday.where(:approver_id => current_user.id, :state => 'requested')
Hádám, že vyvíjíte na SQLite, ale nasazujete na PostgreSQL. To je špatný nápad, vždy vyvíjet a nasazovat na stejném zásobníku.