典型的なブログアプリで次のようなことをすると:
p = Post.order('created_at DESC').limit(10)
p.from(5)
それは発生します:
ActiveRecord::StatementInvalid: SQLite3::SQLException: near "5": syntax error: SELECT "posts".* FROM 5 ORDER BY created_at DESC LIMIT 10
最初の 5 つの投稿を配列で取得し、次の 5 つの投稿を別の配列で取得しようとしています。配列で .from() を使用すると、正常に機能し、選択した番号から始まる必要な要素を取得します。しかし、ビューまたはコントローラーで .from() を使用すると、オブジェクト/配列に .from() を適用する代わりに、新しいクエリを生成しようとします。
私のコントローラーはやっていた:
@last_ten_posts = Post.order('created_at DESC').limit(10)
そしてビュー:
@last_ten_posts.first(5).each do |post|
@last_ten_posts.from(5).each do |post|
.from() メソッドはどのように使用すればよいですか?
ありがとう
編集: @Rubyist は、投稿を処理する最初の方法を思い出してください。.from() が機能しない理由を見つけることに興味がありますか?