Uma nova opção foi acrescentado ao método has_many: a opção :primary_key.
Fazendo uso desta opção podemos definir qual método do modelo associado retornará a chave primária que será usada na associação. Obviamente o método padrão é o id.
Veja um exemplo de uso:
has_many :clients_using_primary_key, :class_name => 'Client',
:primary_key => 'name', :foreign_key => 'firm_name'
Atualização
4 de agosto de 2008 às 12:45
Nosso amigo Ozéias Sant’ana (de blog novo) preparou um gem que adiciona esta mesma funcionalidade nas versões anteriores do Rails.
Assim, quem precisa desta funcionalidade para já, deve ler o artigo que ele escreveu explicando como instalar e usar este gem.
has_one
5 de agosto de 2008 às 11:44
O método has_one também recebeu esta implementação, funcionando exatamente como no exemplo acima.