`
jsntghf
  • 浏览: 2531851 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Default Scoping

阅读更多

 

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`
 

 

分享到:
评论

相关推荐

    Kotlin.Standard.Library.Cookbook.epub

    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

    【C++编程思想(中文版)5】章节主要探讨了两个关键概念:函数重载(Overloading)和缺省参数(Default Arguments),这些都是C++语言中提高代码可读性和灵活性的重要特性。 函数重载允许在同一作用域内使用相同的...

    google的python编码规范.pdf

    关于词法作用域(Lexical Scoping),函数和方法装饰器(Function and Method Decorators)的使用应谨慎,确保它们不会破坏原有的逻辑。线程(Threading)相关的特性在Python中由于全局解释器锁(GIL)的限制,其...

    阮一峰《ECMA6入门》PDF版本

    1. **块级作用域(Block-Level Scoping)**:ES6引入了`let`和`const`关键字,用于声明变量,它们的作用域限制在块级(如`{}`之间),解决了之前`var`声明的变量在全局或函数作用域中的问题,减少了意外的变量污染。...

    Google C++ Style Guide_英文版.pdf

    - **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 ...

    谷歌_C++编码风格指南

    - **默认构造函数(Default Constructor)**:提供默认构造函数以支持默认实例化,但应考虑是否需要禁止默认行为。 - **显式构造函数(Explicit Constructors)**:使用`explicit`关键字防止隐式类型转换,增加代码...

    Google_C++_Style_Guide

    8. **Scoping**:使用最小作用域,减少全局变量的使用,优先考虑局部变量和静态成员变量。 9. **Namespaces**:使用命名空间避免名称冲突,避免使用using声明,除非必要。 10. **Nonmember, Static Member, and ...

    C++ Style Guide.pdf

    - **Default Constructors**:默认构造函数应简洁且明确。 - **Explicit Constructors**:显式构造函数防止意外类型转换。 - **Copy Constructors**:深拷贝与浅拷贝的选择,以及正确实现复制构造函数。 - **Structs...

    js.rar(react初学者简单测试用babel.js,react-development.js,react-dom.js)

    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...

    Google C++ Style Guide(Google C++编程规范)高清PDF

    Scoping Namespaces Nested Classes Nonmember, Static Member, and Global Functions Local Variables Static and Global Variables Classes Doing Work in Constructors Default Constructors Explicit ...

    google编程风格手册

    - **Default Constructors**: 提供默认构造函数时,需要确保其正确性。 - **Copy Constructors**: 深拷贝与浅拷贝的区别及何时使用。 - **Struct vs. Classes**: 在C++中,struct和class的主要区别在于默认的访问...

    Google C++编程规范(pdf 英文)

    ##### 2.2 Scoping (作用域) - **Namespaces**:使用命名空间来组织代码,避免全局命名冲突。 - **Nested Classes**:嵌套类应仅在必要时使用,并且应该有明确的理由。 - **Non-member, Static Member, and Global ...

    Google C++ 编程规范(精心制作的链接文档-方便查看学习)

    - **Scoping** - **Namespaces**:使用命名空间可以帮助组织代码结构,避免名称冲突。 - **Nested Classes**:嵌套类可以用于组织相关的类结构,但在使用时要注意其作用域和可见性。 - **Nonmember, Static ...

    Google对外发布C++编码规范

    Scoping(作用域) - **Namespaces**:命名空间可以帮助组织代码,并避免全局命名冲突。 - **Nested Classes**:嵌套类(或结构体)可用于将相关的类型组合在一起,提高代码的模块化程度。 - **Non-member, Static...

    Google C++ Style Guide中文版

    ##### 作用域 (Scoping) - **名称空间 (Namespaces)** 使用`namespace`来组织代码是非常重要的。它可以帮助防止名称冲突,并使得代码更加模块化。Google建议将顶级名称空间与公司的域名倒序相同,例如`namespace ...

    8-07-14_MegaCLI for linux_windows

    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 -...

    Google C++编程规范中文版

    作用域 (Scoping) - **名称空间 (Namespaces):** 名称空间用于组织代码,避免命名冲突。Google推荐使用层次化的命名空间结构,如`namespace google { namespace protobuf { } }`。此外,还应注意不要在命名空间中...

Global site tag (gtag.js) - Google Analytics