Will_paginate插件允许对任何ActiveRecord进行分页。
实际上,在这个ActiveRecord中有一个paginate方法。例如,如果我想对Order进行分页,我会这样做:
Order.paginate page:params[:page], order: 'created_at desc'paginate方法是如何创建的?这是不是执行某种操作的Will_paginate插件:“获取ActiveRecord定义并将paginate方法注入其中?”
此外,为了保持这个例子,如果上面的假设是正确的:
如果出于某种原因,Order定义了一个具有完全不同目的的正确分页,如何避免与插件发生冲突?
发布于 2012-06-30 00:43:47
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方法。
https://stackoverflow.com/questions/11265479
复制相似问题