Если по какой-то причине вы застряли с Rails 2.1, лучше всего использовать set_primary_key
, например:
class A
set_primary_key 'somename'
has_many :bs, :foreign_key => 'othername'
end
Существует также псевдоним, который позволяет использовать для этого атрибутивный синтаксис (self.primary_key = 'somename'
).
Кстати, если вы можете обновить до 2.3, вы можете использовать опцию primary_key
напрямую с has_many
, например:
has_many :debitos, :primary_key => 'somename', :foreign_key => 'othername'
Если вы решите использовать это, вам не нужно будет объявлять первичный ключ для класса, используя set_primary_key
.