回答編集履歴
2
あ
answer
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
end
|
9
9
|
|
10
10
|
```ruby
|
11
|
-
<% @comic_ranking.each do |
|
11
|
+
<% @comic_ranking.each do |comic|%>
|
12
12
|
<tr>
|
13
13
|
<td><%= image_tag comic.front_cover.to_s %></td>
|
14
14
|
<td><%= comic.title %></td>
|
1
あ
answer
CHANGED
@@ -3,14 +3,16 @@
|
|
3
3
|
comicだったものをlikeに置き換えたところでそのまま動くわけがありません
|
4
4
|
そもそも@comic_rankingは[comic_id,like_count]という配列の配列であって
|
5
5
|
comicで表されていたActiveRecordとは全然違うものです。
|
6
|
+
def index
|
7
|
+
@comic_ranking=Comic.joins(:likes).references(:likes).group(:comic_id).order("count(likes.id dsec"))
|
8
|
+
end
|
9
|
+
|
6
10
|
```ruby
|
7
|
-
<% @comic_ranking.each do |comic_id
|
11
|
+
<% @comic_ranking.each do |comic_id|%>
|
8
|
-
<% comic=Comic.find(comic_id) %>
|
9
12
|
<tr>
|
10
13
|
<td><%= image_tag comic.front_cover.to_s %></td>
|
11
14
|
<td><%= comic.title %></td>
|
12
15
|
<td><%= comic.author %></td>
|
13
|
-
<td><%= like_count %></td>
|
14
16
|
</tr>
|
15
17
|
<% end %>
|
16
18
|
<table>
|
@@ -19,11 +21,10 @@
|
|
19
21
|
<th>作品表紙</th>
|
20
22
|
<th>作品タイトル</th>
|
21
23
|
<th>作者</th>
|
22
|
-
<th>いいね数</th>
|
23
24
|
</tr>
|
24
25
|
</thead>
|
25
26
|
```
|
26
27
|
とりあえずこれで、エラーは出ませんが、n+1問題が発生してコミックが増えた時、非常に重くなるでしょう。
|
27
28
|
|
28
|
-
|
29
|
+
N+1問題に対応しました
|
29
|
-
|
30
|
+
携帯からの更新なので見苦し買ったらすみません。
|