Прежде чем перейти к деталям.
Вопрос 1: - Что означает здесь область действия (то есть с именем ** scope )? **
В чем преимущества использования именованной области?
Теперь: -
из книги Agile Development с Rails: -
class Order < ActiveRecord::Base
named_scope :last_n_days, lambda { |days| {:conditions =>
['updated < ?' , days] } }
named_scope :checks, :conditions => {:pay_type => :check}
end
Такой именованный объем позволил бы найти количество заказов на прошлой неделе
оснастки.
orders = Orders.last_n_days(7)
Области также могут быть объединены
orders = Orders.checks.last_n_days(7)
почему мы используем named_scope здесь. Мы можем сделать то же самое, используя методы. Что особенного мы получили, используя named_scope.