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