1

RailsプロジェクトのKaminariページ付けに条件を追加しようとしていますが、ほとんど不可能だと感じています。これが私のコードです

  UserController
#feed=Feed.order('created_at desc').page(params[:page], :conditions=>["source=? or        source=?","beep","sub_beep"])

上記はうまくいきませんでした私は以下を試しました

  @feed1 = Feed.find(:all,:conditions=>["source=? or source=?","beep","sub_beep"])
  @feed= Kaminari.paginate_array(@feed1).page(params[:page]).per(2)

上記はコンテンツを表示しますが、ページごとに2つのコンテンツを表示せず、表示される要素は注文されていません。

カミナリのページ付けに条件を追加して結果を注文する方法が必要です

助けが必要です!!! :(

4

1 に答える 1

2

カミナリは、ActiveRecord3+スタイルのクエリインターフェイスでのみ動作するように設計されています。

:conditions遅かれ早かれ廃止される「Hasheritis」構文の使用は避けてくださいwhere。代わりに、メソッドを使用してチェーンしてください。

このメソッドの使用where法は、Railsガイドで詳しく説明されています:http://guides.rubyonrails.org/active_record_querying.html#conditions

コントローラコードは次のようになります。

feeds = Feed.where(:source => ['beep', 'sub_beep']).order('created_at desc').page(params[:page])
于 2012-09-24T08:38:32.077 に答える