Will_paginate插件允许任何ActiveRecord获取分页。
实际上,此ActiveRecord中提供了paginate
方法。例如,如果我想分页Order
,我会这样做:
Order.paginate page:params[:page], order: 'created_at desc'
如何创建paginate
方法?这是Will_paginate插件,它执行某种操作:“采用ActiveRecord定义并将paginate
方法注入?
此外,为了保持这个例子,如果上述假设是正确的:
如果出于某种原因,如何避免与插件冲突,Order
已经定义了一个完全不同目的的正确分页?
答案 0 :(得分:2)
will_paginate使用extend方法将模块添加到ActiveRecord :: Base类。见https://github.com/mislav/will_paginate/blob/master/lib/will_paginate/active_record.rb#L202
如果Order也有一个名为paginate的方法,那么它将覆盖ActiveRecord :: Base #paginate方法。