Когда вы говорите, что первая модель в коллекции не имеет атрибутов/методов модели, это потому, что вы получаете исключение NoMethodError
при попытке вызвать один из них?
Это нормально, если объект модели не имеет методов атрибутов (например, при сбросе вывода object.methods
), пока вы не попытаетесь на самом деле их вызвать. Когда вы пытаетесь вызвать один из отсутствующих методов, о котором идет речь, запускается обработчик ActiveRecord
method_missing
и при условии, что имя метода совпадает с именем одного из столбцов, определенных в базе данных, метод будет создан динамически, и никакое исключение не будет воскреснуть. Если этого не происходит, это происходит либо потому, что объект имеет неправильный класс (не соответствует модели, которую вы ожидаете использовать), либо потому, что плагин или драгоценный камень мешают неправильной работе в цепочке обработки method_missing
.
Можете ли вы сбрасывать в журналы (logger.info или logger.info, в зависимости от вашего уровня журнала), что такое self.class.name экземпляра объекта без атрибута? Можете ли вы также провести аудит драгоценных камней (и соответствующих версий), установленных в производстве или локально?
Добро пожаловать. :) – vladr