Первичный ключ Rails и идентификатор объекта
Я обращаюсь к модели рельсов с типичным id
первичного ключа. Однако, когда я обращаюсь к нему в методе, я получаю следующее предупреждение.
Object#id will be deprecated; use Object#object_id
Кажется, что он путается между идентификатором объекта и первичным ключом для модели. есть ли способ убедиться, что он использует id
поля?
- has_and_belongs_to_many vs has_many через
- Как программно перечислить все controllerы в Rails
- Как изменить порт по умолчанию сервера Rails 3 в развитии?
- Доступ к current_user в модели
- путают autoload_paths vs eager_load_paths в рельсах 4
- Ruby on Rails form_ для выбора поля с classом
- Отношение «многие ко многим» с той же моделью в рельсах?
- Как переменные экземпляра Rails передаются в представления?
- Rails активная запись запросов к ассоциации с 'существует'
- Разница между строкой и текстом в рельсах?
- Как настроить Ruby on Rails без базы данных?
- Странная ошибка «406 неприемлема»
- Rails: ссылки «Next post» и «Previous post» в моем представлении, как?
Это похоже на объект, который вы назвали .id
on на самом деле не является моделью ActiveRecord. Вы должны видеть это предупреждение только для объектов Ruby, где .id
– это скоро устаревшая версия Object#object_id
.
Однако другой способ доступа к первичному ключу для поля с моделью ActiveRecord – model.attributes['id']
чтобы вы могли попробовать это.
Как указывает Майкей, вы называете id
неактивной записью. Чтобы проверить, просмотрите class объекта с помощью obj.class
.
Обратите внимание, что с classом набора утиных не имеет значения … если вы не считаете, что объект – это другой class, чем он есть 🙂