http://github.com/parasew/acts_as_tree
rails s
rake db:migrate
rails g scaffold Category name:string memo:text
rails g migrate add_categories_uuid_colums
bundle install
https://github.com/liuqiang/webschool40/tree/master/vendor/
http://www.douban.com/group/topic/8537205/
Named Scopes http://hi.baidu.com/hbxiao135/blog/item/58f773da137c93d7b6fd4893.html
下面我们看看在Rails 3中named scopes的变化。假如,在Article下有两个named scopes,visible用来表示隐藏的文章,published用来表示已经发布的文章。
上面的语句是Rails 2中定义named scoped的方式,在Rails 3中named scoped的语法稍微有点不同。首先是用scoped代替named scoped,其次,和find的变化相同,不再使用find的哈希参数,而是改用同名的方法,而conditions会变成where如下:
另外一个关于scope的新功能是可以通过scope创建scope,例如,我们希望创建一个叫做recent的scope,表示发布过并且没有 隐藏的文章列表,并且文章列表按照发布的降序排列。那么,我们就可以通过使用visible和pulished来实现如下:
如上所示,我们就是通过将两个scopes连起来,并且添加一个排序的方法来创建scope的。而且,我们也可以通过在控制台调试我们的 scope,发现当我们调用Article.recent时,会返回一个ActiveRecord::NamedScope::Scope的对象,而这个 对象会和ActiveRecord::Relation有相似的功能,即lazy loading不是当即查询。如下:
当我们查询所有时,我们将会看到对应的Article对象返回。(译者晓夜注:就是说在用的时候返回)
来源:https://www.cnblogs.com/lexus/archive/2010/10/27/1862987.html