どのカテゴリのレビューも 5 件ではなく、特定のカテゴリの 5 件のレビューのみを表示しようとしています。比較のために機能していた後で投稿しました。
レビューにはカテゴリ ID インデックスがあり、これを使用してカテゴリ名を検索し、その名前を目的のレビューのカテゴリ名と比較します。次に、抽出した 5 つのレビューを配列に格納します (これが最も効率的な方法ですか?)。レビューとカテゴリは 2 つの別個のテーブルです。
現在、「レビューを配列に変換できません」というエラーが発生しています。これは型キャストの問題だと思いますか?Review を配列にしたくありません。@review が 5 件のレビューを保持する古いコードと同等の結果が必要です。この問題に正しく取り組んでいるかどうかはわかりません。
現在のコード
def home
@review = []
idx = 1
Review.find_each do |review|
break if idx == 5
@category = Category.find(review.category_id).category_name
if @category == "Something"
@review += review and idx+=1
end
end
end
古いコード
def home
@review = Review.find(:all, :limit => 5)
end
ご協力いただきありがとうございます!