假设我们的控制器中有@posts = Post.published.per(10).page(params[:page])
。稍后我们需要更新所有发布的帖子(Post.published
)。
如何删除分页?
@posts.limit(false).offset(false)
似乎可以做到这一点,但我认为应该采用其他方式,更高级的方式(类似@posts.without_pagination
)。
答案 0 :(得分:6)
由于kaminari提供page
方法,我不确定kaminari是否也提供类似without_pagination
的内容。
但如果你愿意,你可以随时这样做:
class Post < ActiveRecord::Base
def self.without_pagination
self.limit(false).offset(false)
end
end
或者您可以将方法提取到模块并将模块包含到ActiveRecord :: Base中,以便每个模型都有该方法。
谢谢tfwright指出。可以使用.except(:limit, :offset)
,这对以后的人来说应该更好。
@posts = Post.publised.per(10).page(params[:page])
@posts = @posts.except(:limit, :offset)