Rails: как использовать метод find для произвольного индекса
Я создал модель, которая имеет строку в качестве уникального идентификатора. Я создал миграцию, чтобы добавить индекс для этой строки и установить его как уникальный. Как я могу получить доступ к записи базы данных, просто передав ее строку уникального идентификатора в метод поиска, например
@object = Object.find(params[:unique_id])
На данный момент все, что я получаю, это исключение ActiveRecord::RecordNotFound...
Не удалось найти объект с id = abc
... когда я пытаюсь получить доступ Object.find('abc')
where
метод не альтернатива, так как это возвращает мне отношение.
1 ответ
Object.find(:unique_id)
поиск по столбцу object_id; Если вы хотите искать в другом столбце, используйте Object.find_by_[column_name]!(:unique_id)
, Это вызовет исключение, если запись не может быть найдена, как это было бы find
метод.