дружественные идентификаторы с переопределением к параметру - PullRequest
2 голосов
/ 28 февраля 2011

Я переопределяю метод "to param" для пользовательской модели. И я также заменяю методы поиска контроллера. Есть ли проблема с этим? Кажется, все работает сейчас.

Модель пользователя

def to_param
 name
end

users_controller

@user = User.find_by_name(params[:id])

1 Ответ

0 голосов
/ 28 февраля 2011

Я бы порекомендовал предпринять следующие шаги:

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

В общем, совершенно нормально иметь первичный ключ, отличный от id. Сложнее, когда этот первичный ключ не генерируется автоматически, поэтому позаботьтесь об этом и убедитесь, что вы можете правильно установить этот атрибут и убедиться, что он уникален.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...