21 Dec '13, 8am

こんなメソッドが用意されていたのか

Used to extend a scope with additional methods, either through a module or through a block provided. The object returned is a relation, which can be further extended. Using a module module Pagination def page ( number ) # pagination code goes here end end scope = Model . scoped . extending ( Pagination ) scope . page ( params [ :page ]) You can also pass a list of modules: scope = Model . scoped . extending ( Pagination , SomethingElse ) Using a block scope = Model . scoped . extending do def page ( number ) # pagination code goes here end end scope . page ( params [ :page ]) You can also use a block and a module list: scope = Model . scoped . extending ( Pagination ) do def per_page ( number ) # pagination code goes here end end Show source # File activerecord/lib/active_record/relation/query_methods.rb, line 243 def extending (* modules ) modules << Module . new (& Proc ...

Full article: http://apidock.com/rails/ActiveRecord/QueryMethods/extending

Tweets