Outlet.rb :
def latest_reports
weekly_reports.limit(10)
end
Outlet_controller.rb :
@all_outlets = Outlet.includes(:weekly_reports)
@search = @all_outlets.search(params[:q]) # load all matching records
@outlets = @search.result.order("created_at DESC").page(params[:page])
アウトレット/index.slim :
- @outlets.each do |outlet|
tr
td= link_to outlet.name, outlet_path(outlet)
th
ul.reports
li class="#{'done' if outlet.monitored_today}"
th
ul.reports
- for report in outlet.latest_reports
li class="#{'done' if report.quota_met}"= report.times_monitored
理由はわかりませんが、これにより、いくつかの異なるクエリとして読み込まれます。コントローラーのインクルードが正しくないためだと確信しています(モデルでメソッドを使用しているため)。
誰かがこれを改善するのを手伝ってくれるなら、私は非常に感謝しています:)。
注:私はPostgreSQLで開発しています
更新: : 完全なコントローラー アクションを投稿しました。