Я создал модель, которая имеет строку как уникальный идентификатор. Я создал миграцию, чтобы добавить индекс в эту строку и установить ее как уникальную. Как я могу получить доступ к записи в базе данных, просто передавая свой уникальный идентификатор строки в методе находят, напримерRails: Как использовать метод find для произвольного индекса
@object = Object.find(params[:unique_id])
На данный момент, все, что я получаю исключение ActiveRecord :: RecordNotFound ...
Couldn't find Object with id=abc
... когда я пытаюсь получить доступ к Object.find('abc')
where
метод не является альтернативой, поскольку это дает мне обратно отношение.
Это дает мне следующие 'IRB (основные): 006: 0> Object.find_by_unique_id unique_id: (: unique_id => 'ABC') ArgumentError: Неизвестный ключ: unique_id' Моя миграция является' add_index: объекты, , unique: true' Когда я использую где, он работает – Isabaellchen
try 'Object.find_by_unique_id! ('abc')' – Baldrick
Ну, спасибо, кучка. Теперь он работает – Isabaellchen