2011-01-30 5 views
0

will_paginate宝石をレール3で使用しようとしていますが、私はこのビジネスの多くをできるだけモデルに移したいと思いますが、それは難しいようです。モデルにparams[:page]ことを得るために、とにかく誰かがwill_paginateをレール3のモデルに移動する合理的な方法を見つけましたか?

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

あり:通常、あなたのような何かをしますか? paramsにはアクセスできません。私の理想は何とかこれをscopeに取り込むことです。

答えて

1

パラメータがparamsをパラメータとし、paramsがコントローラによってモデルに渡される場合、パラメータはモデルのメソッドで使用できます。しかし、モデルがparamsについて何も知らないので、params [:page]だけを渡す方が良いでしょう。たとえば、this exampleを参照してください。

ページネーションはビジネスロジックではなく、データの表示方法です。したがって、関与するほとんどのコードはモデルに属しません。しかし、will_paginateは、モデルの結果0-15,15-30、...を得る便利な方法を提供し、それらのリストを咳をすることは、単純に能動レコードモデルの能力であり、それがそこに属する理由である。

関連する問題