У меня есть следующий метод внутри моего Business
класса:модели Извлечение, которые похожи - Рельсы
def similar_businesses(n)
Business.where(:category_id => category_id, :city_id => city_id).where("id NOT IN (?)",id).limit(n).order("RANDOM()")
end
Это в основном захватывает n
предприятия, которые находятся в одной и той же категории и того же города.
Я смотрел на railscast, что переговоры об использовании методов класса вместо областей, и пытался конвертировать мой код в:
def similar_businesses(n)
where(:category_id => category_id, :city_id => city_id).where("id NOT IN (?)",id).limit(n).order("RANDOM()")
end
Уведомление Business
не существует больше.
Однако я получаю сообщение об ошибке undefined where method for ...
Я только начал рельсы, и я также интересно, если есть какая-то разница между этими двумя методами? И почему я получаю эту ошибку?
Хорошо, я это понимаю. Будет ли более эффективен, чем другой? – AlexBrand
В приведенном выше случае нет никакой разницы в эффективности, потому что вы в основном делаете то же самое, таким же образом. –