Успешная интеграция различных парадигм программирования в единственные среды программирования.
образец этого (для меня) система программирования Mozart/Oz , который интегрируется функциональный, OO, логика, параллельные и распределенные механизмы программирования в единое целое. Существуют другие примеры все же.
Вы можете использовать default_scope
:
class ExampleModel < ActiveRecord::Base
default_scope :conditions => ["status = ?", "active"]
end
Если вы хотите использовать это во всех своих моделях, вы можете создать подкласс ActiveRecord :: Base
и вытекает из этого во всех ваших моделях (вероятно, не работает с однотабличным наследованием):
class MyModel < ActiveRecord::Base
default_scope :conditions => ["status = ?", "active"]
end
class ExampleModel < MyModel
end
... или вы можете установить default_scope
на ActiveRecord :: Base
сам (может раздражать, если вы решите, что одна модель не должна иметь эту область действия по умолчанию):
class ActiveRecord::Base
default_scope :conditions => ["status = ?", "active"]
end
class ExampleModel < ActiveRecord::Base
end
Как упомянул klochner в комментарии, вы также можете рассмотреть возможность добавления named_scope
в ActiveRecord :: Base
с именем active
, например:
class ActiveRecord::Base
named_scope :active, :conditions => ["status = ?", "active"]
end
class ExampleModel < ActiveRecord::Base
end
ExampleModel.active # Return all active items.