class Article < ActiveRecord::Base
default_scope :order => 'created_at DESC'
end
现在,任何一个find或者named_scope方法执行,结果列表都会按照created_at DESC进行排序。
Article.find(:all) #=> "SELECT * FROM `articles` ORDER BY created_at DESC"
class Article < ActiveRecord::Base
default_scope :order => 'created_at DESC'
named_scope :published, :conditions => { :published => true }
end
Article.published #=> "SELECT * FROM `articles` WHERE published = true ORDER BY created_at DESC"
class Article < ActiveRecord::Base
default_scope :order => 'created_at DESC'
named_scope :published, :conditions => { :published => true },
:order => 'published_at DESC'
end
# published_at DESC clobbers default scope
Article.published
#=> "SELECT * FROM `articles` WHERE published = true ORDER BY published_at DESC"
class Article < ActiveRecord::Base
default_scope :order => 'created_at DESC'
end
# Ignore other scoping within this block
Article.with_exclusive_scope { find(:all) } #=> "SELECT * FROM `articles`
分享到:
相关推荐
As you make your way through the chapters, you'll learn how to implement clean, reusable functions and scalable interfaces containing default implementations. In the concluding chapters, we'll provide...
【C++编程思想(中文版)5】章节主要探讨了两个关键概念:函数重载(Overloading)和缺省参数(Default Arguments),这些都是C++语言中提高代码可读性和灵活性的重要特性。 函数重载允许在同一作用域内使用相同的...
关于词法作用域(Lexical Scoping),函数和方法装饰器(Function and Method Decorators)的使用应谨慎,确保它们不会破坏原有的逻辑。线程(Threading)相关的特性在Python中由于全局解释器锁(GIL)的限制,其...
1. **块级作用域(Block-Level Scoping)**:ES6引入了`let`和`const`关键字,用于声明变量,它们的作用域限制在块级(如`{}`之间),解决了之前`var`声明的变量在全局或函数作用域中的问题,减少了意外的变量污染。...
- **Default Arguments:** Default arguments can make functions more flexible but can also introduce ambiguity. - **Trailing Return Type Syntax:** Use trailing return type syntax for template functions ...
- **默认构造函数(Default Constructor)**:提供默认构造函数以支持默认实例化,但应考虑是否需要禁止默认行为。 - **显式构造函数(Explicit Constructors)**:使用`explicit`关键字防止隐式类型转换,增加代码...
8. **Scoping**:使用最小作用域,减少全局变量的使用,优先考虑局部变量和静态成员变量。 9. **Namespaces**:使用命名空间避免名称冲突,避免使用using声明,除非必要。 10. **Nonmember, Static Member, and ...
- **Default Constructors**:默认构造函数应简洁且明确。 - **Explicit Constructors**:显式构造函数防止意外类型转换。 - **Copy Constructors**:深拷贝与浅拷贝的选择,以及正确实现复制构造函数。 - **Structs...
do-expressions":r(206),"transform-es2015-arrow-functions":r(68),"transform-es2015-block-scoped-functions":r(69),"transform-es2015-block-scoping":r(70),"transform-es2015-classes":r(71),"transform-es...
Scoping Namespaces Nested Classes Nonmember, Static Member, and Global Functions Local Variables Static and Global Variables Classes Doing Work in Constructors Default Constructors Explicit ...
- **Default Constructors**: 提供默认构造函数时,需要确保其正确性。 - **Copy Constructors**: 深拷贝与浅拷贝的区别及何时使用。 - **Struct vs. Classes**: 在C++中,struct和class的主要区别在于默认的访问...
##### 2.2 Scoping (作用域) - **Namespaces**:使用命名空间来组织代码,避免全局命名冲突。 - **Nested Classes**:嵌套类应仅在必要时使用,并且应该有明确的理由。 - **Non-member, Static Member, and Global ...
- **Scoping** - **Namespaces**:使用命名空间可以帮助组织代码结构,避免名称冲突。 - **Nested Classes**:嵌套类可以用于组织相关的类结构,但在使用时要注意其作用域和可见性。 - **Nonmember, Static ...
Scoping(作用域) - **Namespaces**:命名空间可以帮助组织代码,并避免全局命名冲突。 - **Nested Classes**:嵌套类(或结构体)可用于将相关的类型组合在一起,提高代码的模块化程度。 - **Non-member, Static...
##### 作用域 (Scoping) - **名称空间 (Namespaces)** 使用`namespace`来组织代码是非常重要的。它可以帮助防止名称冲突,并使得代码更加模块化。Google建议将顶级名称空间与公司的域名倒序相同,例如`namespace ...
LSIP200232954 (DFCT) Need to Support all the MFC default values in the command AdpSettings. LSIP200245968 (DFCT) In EFICLI not able to flash latest firmware to controller without using -nosigchk -...
作用域 (Scoping) - **名称空间 (Namespaces):** 名称空间用于组织代码,避免命名冲突。Google推荐使用层次化的命名空间结构,如`namespace google { namespace protobuf { } }`。此外,还应注意不要在命名空间中...