有没有人找到一种合理的方法将will_paginate东西移动到rails 3中的模型中?

时间:2011-01-30 08:46:35

标签: ruby-on-rails-3 activerecord will-paginate

尝试在rails 3中使用will_paginate gem,我想尽可能多地将这项业务转移到模型中,但是看起来很难,而且我还没有看到太多。通常,你会做类似的事情:

Resource.where(:foo => :bar).paginate(:page => params[:page], :per_page => 10)

无论如何将params[:page]放入模型中?那里无法访问params。我的理想是以某种方式将其用于scope

1 个答案:

答案 0 :(得分:1)

如果方法将params作为参数并且params由控制器传递给模型,则params在模型的方法中可用。但是,最好只传递params [:page],因为模型应该对params一无所知。例如,请参阅this example

分页主要不是业务逻辑:它是关于如何呈现数据的。因此,涉及的大多数代码都不属于模型。然而,will_paginate提供了方便的方法来获得模型的结果0-15,15-30 ......,并且咳出这些列表只是一个activerecord模型的能力,这就是它属于那里的原因。