В моем приложении, я массив с именем @apps
который загружается по ActiveRecord с записью, содержащая имя приложения, окружающей среды и т.д.Как подсчитать элементы в массиве с определенным значением атрибута?
настоящее время я использую @apps.count
, чтобы получить количество приложений в массиве, но я У меня проблемы с подсчетом количества приложений в массиве, где environment = 0
.
Я пробовал @apps.count(0)
, но это не сработало, так как для каждой записи есть несколько полей.
Я также пробовал что-то вроде @apps.count{ |environment| environment = 0}
, но ничего не произошло.
Любые предложения?
Я собираюсь с первым решением, потому что мне нужны все записи. – ny95
В зависимости от количества записей может быть быстрее запросить DBM подсчет записей, а затем повторить одну запись за раз, чем запросить все записи, а затем пересчитать и перебрать их в Ruby. DBM оптимизирован для передачи 'count', а затем итерации по строкам. Сбрасывая всю таблицу сразу, вы будете бить свою БД, хост БД, сеть, хост, на котором работает ваш код, и ваш сервер и приложение Rails. –