TECH::CAMP 1ヶ月コース 11日目 Ruby on Rails

今日やったこと
・スクレイピングカリキュラムを一通り終わらせる。
・その後はカリキュラムに沿って一つのアプリを作り上げていく作業。
・基本カリキュラムにはなかった発展的な仕組み、メソッドなどを学んでいく。

form_forとform_tagの違い
どっちの方を何処で使うべきなのか
どうやって保存されるのか

ここら辺はかなり曖昧

入り組んでいたところと言えば、
「ランキングとして、レビューの投稿数が多い作品を5件取得」、という箇所
groupメソッド
countメソッド
countメソッドの引数にカラム指定
limitメソッド
keysメソッド
mapメソッド
を駆使してソートして取得するのだけども、

def ranking
  product_ids = Review.group(:product_id).order('count_product_id DESC').limit(5).count(:product_id).keys
  @ranking = product_ids.map { |id| Product.find(id) }
end

こんなコードをじっくりと読み解いていくことなら辛うじて出来る
ただ、どうだろう?
漠然と日本語だけで

「ランキングとして、レビューの投稿数が多い作品を5件取得」をやってね!って言われる

という所からだと全く書ける気がしない絶望感
慣れですかね?これは

12日目へ続く