Kos*_*tas 4 ruby ruby-on-rails-3 kaminari
假设@posts = Post.published.per(10).page(params[:page])我们的控制器中有某处.稍后我们需要更新所有已发布的帖子(Post.published).
如何删除分页?
@posts.limit(false).offset(false)似乎可以做到这一点,但我认为应该有其他方式,更高级的方式(类似的东西@posts.without_pagination).
由于该page方法由kaminari提供,我不确定kaminari是否也提供了类似的东西without_pagination.
但如果你愿意,你可以随时这样做:
class Post < ActiveRecord::Base
def self.without_pagination
self.limit(false).offset(false)
end
end
Run Code Online (Sandbox Code Playgroud)
或者您可以将方法提取到模块并将模块包含到ActiveRecord :: Base中,以便每个模型都具有该方法.
谢谢tfwright指出.可以使用.except(:limit, :offset)哪个应该更好的后来的角色.
@posts = Post.publised.per(10).page(params[:page])
@posts = @posts.except(:limit, :offset)
Run Code Online (Sandbox Code Playgroud)