with_scope
теперь называется scoping
в новых версиях Rails. with_exclusive_scope
должно быть unscoped
. Оба метода принимают блок, чтобы ваш код работал с ними нормально.
См. Документы для scoping
и unscoped
для получения дополнительной информации.
Обновление: Метод scoping
не работает, если вызван в самом классе. Он должен быть вызван уже в области видимости (в отличие от unscoped
, который работает на классной модели). Я бы первый добавить «безвредную» область видимости all
(который выбирает все записи и, таким образом, веду себя так же, как голая модель класс AuditArea
) к выбрать так, что оба варианты send
работы:
AuditArea.all.send(query_options[:include_retired] ? :unscoped : :scoping) {
# ...
}
незаданных работ, но обзорного все еще дает ошибку * NoMethodError Исключение: неопределенный метод 'scoping 'для –
Можете ли вы вставить полную ошибку? 'scoping' ** - ** [определенный метод] (https://github.com/rails/rails/blob/v4.1.9/activerecord/lib/active_record/relation.rb#L290) в Rails 4.1.9. – BoraMa
*** NoMethodError Исключение: неопределенный метод 'scoping 'для # <Класс: 0x00000008174410> –