One quick work around is to use Dr Nic's composite primary keys plugin http://compositekeys.rubyforge.org/
Not only does it give you the option of utilizing composite keys, but it also actually allows you to use (singular) string primary keys by way of the set_primary_keys class method. e.g. set_primary_keys :code
Most rails features are supported (finders, associations, and so forth).
One caveat is that this does not cover migrations - though you could probably fudge things by adding PK constraints manually.