How to Work with Tables That Don't Have a Numeric PK?

One quick work around is to use Dr Nic's composite primary keys plugin

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.
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.