Ví dụ, hãy xem xét đoạn mã sau (trong một mô hình):Có cách nào tốt để DÙNG lên phạm vi/vị ngữ sao chép logic?
scope :popular, where("views >= 250 OR (views >= 10 AND avg_rating >= 4.75)")
def popular?
views >= 250 or views >= 10 && avg_rating >= 4.75
end
điều kiện đầu tiên là SQL, thứ hai là ruby, nhưng vẫn còn, có một sự trùng lặp rõ ràng. Có cách nào tốt để DRY nó lên? Thực hành tốt nhất cho những trường hợp như thế nào?
Hình như có một lỗi đánh máy trong định nghĩa phạm vi ... – Alexis
vâng. Tôi sửa nó rồi. –