14

私のアプリでは、最近の投稿機能を作成しました。

 @recentposts = Post.all(:order => 'created_at DESC', :limit => 5)

この変数は問題を引き起こします。テストを実行すると、次のエラーが発生します。

非推奨の警告: Relation#all は非推奨です。リレーションをeager-loadしたい場合は、#load (例: Post.where(published: true).load) を呼び出すことができます。リレーションからレコードの配列を取得したい場合は、#to_a を呼び出すことができます (例: Post.where(published: true).to_a)。(/home/mateusz/rails4/Bloggers/app/controllers/users_controller.rb:18 の show から呼び出されます)

Googleで解決策を探していましたが、見つかりません...

4

3 に答える 3

19

書くだけ:

@recentposts = Post.order('created_at DESC').limit(5)

データは必要に応じて遅延ロードされるため、これto_aは明示的に必要ではありません。

于 2013-08-13T08:32:41.307 に答える
2

ネストされた方法

Post.order('created_at DESC').limit(5).to_a
于 2013-08-13T08:23:45.680 に答える