改ページにはRails3.2とKaminariを使用しています。特定のユーザーのすべての記事とすべての記事をレンダリングするために、同じコントローラーアクション(インデックス)を使用しています。私のコントローラーコードは次のようになります。
def index
@articles = (params[:mine] == "true") ? current_user.articles : Article.search(params[:search], :page => params[:page])
respond_to do |format|
format.html
format.json { render json: @articles }
end
end
そして私の記事モデルでは:
def self.search(search, opts)
if search.present?
where("category LIKE ? OR article_type LIKE ?", "%#{search}%","%#{search}%").page(opts[:page]).per(25)
else
page(opts[:page]).per(25)
end
end
私の問題は、current_userの記事を表示するときに並べ替えとページ付けを適用する方法がわからないことです。ちなみに、ソートのコードはまだありません。現在のコードでは、mineパラメータをtrueに設定してインデックスアクションにアクセスすると、「#Articleの未定義のメソッド`current_page'」というエラーが発生します。
だから私の質問は、使用するときにどのようにソートとページ付けを適用するのcurrent_user.articles
ですか?サンプルコードは本当に役に立ちます。どうもありがとう!