2011-07-24 7 views
3

私の投稿データベースをページ付けするために、rails gem kaminari(https://github.com/amatsuda/kaminari)を使用しています。現在私のコントローラにはコード@posts = Post.order('id').page(params[:page]).per(5)がありますが、これは最も早いものから最も最近のものへのページを注文します。どのようにこれを逆順にして、最新のものから最も早いものにするか?あなたが行うことができますあなたのモデルでkaminariの最近の投稿でページを貼る

答えて

6

default_scope order("created_at DESC") 

または

default_scope order("created_at ASC") 
+0

私は、コントローラのコードを短くしたい: '@posts = Post.page(のparams [:ページ] ).per(5) ' – stephenmurdoch

+1

代わりに、' @posts = Post.order( 'created_at DESC')。ページ(params [:page])。per(5) '? – Vasseurth

+1

はい、それはいいでしょう:) – stephenmurdoch

1
def index 
    @all = Model.all 
    @all = Model.order(sort_column + " " + sort_direction).paginate(:per_page => 5, :page => params[:page]) 
end 

def sort_column 
    Model.column_names.include?(params[:sort]) ? params[:sort] : "updated_at" 
end 

def sort_direction 
    %w[asc desc].include?(params[:direction]) ? params[:direction] : "DESC/ASC" 
end 
関連する問題