#ruby-on-rails #ruby
#ruby-on-rails #ruby
Вопрос:
Пожалуйста, объясните на примере разницу между именованной областью и модулем.
Комментарии:
1. На самом деле они не связаны. Возможно, это поможет, если вы укажете свою цель их сравнения?
2. Я думаю, он спрашивает о разнице между именованным пространством и модулем.
Ответ №1:
Вы бы использовали именованную область, если хотите упаковать несколько условий в Rails, таких как:
named_scope :active, :conditions => ['active = ?', true]
named_scope :legal_age, :conditions => ['age > ?', 21]
хорошим преимуществом именованных областей является то, что вы можете связать их вместе. например:
user.active.legal_age
Модуль используется для группировки похожих объектов вместе. Итак, обычно, если у вас есть код, который должен быть общим для всего вашего приложения, вы должны определить модуль в своем каталоге lib и поместить такие классы, как.
module MyModule
class MyClass
....
end
end
У модуля есть другие варианты использования, это основной из моего опыта.