Efectivamente, con :id=>false evitas que se genere una llame primaria con ese nombre, pero falta indicarle a tu modelo que columna utilizar en su defecto. Esto se hace mediante:
Código:
class Departamento < ActiveRecord::Base
set_primary_key "cvedept"
end
Rails automáticamente entenderá que con ese modelo debe utilizar el campo que has especificado como llave primaria y generará las consultas debidas con ese fin (con Departamento.find(:all) por ejemplo)