Мне нравится добавлять метод в мое отношение has_many так, как он применяется к объекту отношения.
Я получил заказ, который имеет: has_many line_items
Мне нравится писать такие вещи, как
order.line_items.calculate_total # returns the sum of line_items
это я мог сделать с:
:has_many line_items do
def calculate_total
...
end
end
но это не будет применяться к named_scopes, например, payalbes_only:
order.line_items.payables_only.calculate_total
здесь при вычислении итога будут получены все элементы line_items заказа, а не области действия из payables_only-scope. Мой журнал говорит мне, что область paybles_only даже не применяется к sql.