Я бы порекомендовал предпринять следующие шаги:
- Убедитесь, что имя уникально.
- Убедитесь, что primary_key модели User - это «имя», а не «id» (User.primary_key). Многие драгоценные камни и модули зависят от правильности этого значения. Если это не так, вы можете столкнуться с трудностями в отладке позже.
- Взгляните на объявление 'set_primary_key' для ActiveRecord. Это может быть более простой способ выполнить то, что вы делаете.
В общем, совершенно нормально иметь первичный ключ, отличный от id. Сложнее, когда этот первичный ключ не генерируется автоматически, поэтому позаботьтесь об этом и убедитесь, что вы можете правильно установить этот атрибут и убедиться, что он уникален.