У меня есть приложение Рельсов, которое содержит Тимсисона
образцовый класс. Этот класс имеет has_one
связь с Команда
образцовый класс, и has_many
ассоциация к другому , Тимсисон
названный противников
. Я теперь пытаюсь написать метод, который проходит в Команда
и определяет, связан ли какой-либо из его противников с тем Команда
. Метод, который я написал, выглядит примерно так:
def plays?(against_team)
total = opponents.count {|opponent| opponent.team == against_team}
return (total > 0)
end
количество
метод должен посчитать количество элементов матрицы, которые приводят к истинному значению с блоком, который я определил. Однако кажется, что это всегда возвращает полное из множества. Это - как будто блок, который я определял всегда, приводит к истинному значению, несмотря ни на что.
Я добавил различный , помещает
звонит, чтобы попытаться выяснить, где моя логика идет не так, как надо. Вот мои наблюдения:
-
, Когда я добавляю любой , помещает
требования в блоке рядом с методом счета, я не вижу продукции для тех заявлений. Кажется, что содержание блока никогда не выполняется
-
, Когда я вставляю дополнительную петлю, используя множество противников каждый
метод и блок, я могу напечатать ценность своих объектов множества и подтвердить, что они, оценивают, как я ожидаю. Я могу даже , помещает
ценность opponent.team == against_team
, и проверьте, что блок, который я написал, оценивает, чтобы ложный
часть времени, как это должно.
Что я пропускаю здесь?