質問編集履歴
3
記述場所変更
test
CHANGED
File without changes
|
test
CHANGED
@@ -92,29 +92,7 @@
|
|
92
92
|
|
93
93
|
以下がgem 'buret'を使用した時の,N+1が起きたポップアップの表示です。
|
94
94
|
|
95
|
-
https://gyazo.com/844186109cb5bd0c08753ca8c28ae642
|
96
|
-
|
97
|
-
# 試したこと
|
98
|
-
|
99
|
-
```
|
100
|
-
|
101
|
-
.with_attached_image
|
102
|
-
|
103
|
-
```
|
104
|
-
|
105
|
-
このコマンドでactivestrageのN+1問題が解消できると記事で見つけたんですが解消されず,
|
106
|
-
|
107
|
-
記述の仕方が違う可能性があると思い、以下のように変更してみましたが解消できずにいる状況ですのでわかる方いましたらご教授お願いします。
|
108
|
-
|
109
|
-
```
|
110
|
-
|
111
|
-
Article.includes(:tags, image_attachment: :blob, user: [profile: :avatar_attachment]).find(Like.group(:article_id).order('count(article_id) desc').limit(4).pluck(:article_id))
|
112
|
-
|
113
|
-
```
|
114
|
-
|
115
95
|
以下追記しました!
|
116
|
-
|
117
|
-
gem 'bullet'で表示されたのは以下の部分になります!
|
118
96
|
|
119
97
|
```
|
120
98
|
|
@@ -139,3 +117,21 @@
|
|
139
117
|
/Users/imayoshikosuke/sdf-app/app/views/articles/index.html.haml:28:in `_app_views_articles_index_html_haml__2778570416798052491_70315830587700'
|
140
118
|
|
141
119
|
```
|
120
|
+
|
121
|
+
# 試したこと
|
122
|
+
|
123
|
+
```
|
124
|
+
|
125
|
+
.with_attached_image
|
126
|
+
|
127
|
+
```
|
128
|
+
|
129
|
+
このコマンドでactivestrageのN+1問題が解消できると記事で見つけたんですが解消されず,
|
130
|
+
|
131
|
+
記述の仕方が違う可能性があると思い、以下のように変更してみましたが解消できずにいる状況ですのでわかる方いましたらご教授お願いします。
|
132
|
+
|
133
|
+
```
|
134
|
+
|
135
|
+
Article.includes(:tags, image_attachment: :blob, user: [profile: :avatar_attachment]).find(Like.group(:article_id).order('count(article_id) desc').limit(4).pluck(:article_id))
|
136
|
+
|
137
|
+
```
|
2
N+1を検知した時の表示を部分を追記しました
test
CHANGED
File without changes
|
test
CHANGED
@@ -111,3 +111,31 @@
|
|
111
111
|
Article.includes(:tags, image_attachment: :blob, user: [profile: :avatar_attachment]).find(Like.group(:article_id).order('count(article_id) desc').limit(4).pluck(:article_id))
|
112
112
|
|
113
113
|
```
|
114
|
+
|
115
|
+
以下追記しました!
|
116
|
+
|
117
|
+
gem 'bullet'で表示されたのは以下の部分になります!
|
118
|
+
|
119
|
+
```
|
120
|
+
|
121
|
+
GET /
|
122
|
+
|
123
|
+
USE eager loading detected
|
124
|
+
|
125
|
+
ActiveStorage::Attachment => [:blob]
|
126
|
+
|
127
|
+
Add to your query: .includes([:blob])
|
128
|
+
|
129
|
+
Call stack
|
130
|
+
|
131
|
+
/Users/imayoshikosuke/sdf-app/app/views/commons/_articles.html.haml:17:in `block (2 levels) in _app_views_commons__articles_html_haml___396224862957515687_70315826656700'
|
132
|
+
|
133
|
+
/Users/imayoshikosuke/sdf-app/app/views/commons/_articles.html.haml:16:in `block in _app_views_commons__articles_html_haml___396224862957515687_70315826656700'
|
134
|
+
|
135
|
+
/Users/imayoshikosuke/sdf-app/app/views/commons/_articles.html.haml:1:in `each'
|
136
|
+
|
137
|
+
/Users/imayoshikosuke/sdf-app/app/views/commons/_articles.html.haml:1:in `_app_views_commons__articles_html_haml___396224862957515687_70315826656700'
|
138
|
+
|
139
|
+
/Users/imayoshikosuke/sdf-app/app/views/articles/index.html.haml:28:in `_app_views_articles_index_html_haml__2778570416798052491_70315830587700'
|
140
|
+
|
141
|
+
```
|
1
問題箇所のviewを追加した
test
CHANGED
File without changes
|
test
CHANGED
@@ -5,6 +5,74 @@
|
|
5
5
|
ポートフォリオの中で画像の保存はactivestrageを使用しているのですが、N+1問題が発生している箇所があり、それを解消しようと調べて、以下のように記述したところエラーが解消されずにいるのでご教授して頂きたいです。
|
6
6
|
|
7
7
|
下記が各種ファイルの記述になります。
|
8
|
+
|
9
|
+
N+1が起きているviewファイル
|
10
|
+
|
11
|
+
```
|
12
|
+
|
13
|
+
- articles.each do |article|
|
14
|
+
|
15
|
+
.articles
|
16
|
+
|
17
|
+
.card.articles-card
|
18
|
+
|
19
|
+
= link_to article_path(article) do
|
20
|
+
|
21
|
+
- if article.image.attached?
|
22
|
+
|
23
|
+
= image_tag article.image.variant(resize:'240x240').processed, class: 'hover'
|
24
|
+
|
25
|
+
.articles-price
|
26
|
+
|
27
|
+
#{article.price}円
|
28
|
+
|
29
|
+
.articles-star
|
30
|
+
|
31
|
+
星評価 #{article.rate}
|
32
|
+
|
33
|
+
.articles-info
|
34
|
+
|
35
|
+
.objects
|
36
|
+
|
37
|
+
= article.object
|
38
|
+
|
39
|
+
.author
|
40
|
+
|
41
|
+
.author-left
|
42
|
+
|
43
|
+
= link_to account_path(article.user) do
|
44
|
+
|
45
|
+
= image_tag article.author_image, class: 'articles-avatar'
|
46
|
+
|
47
|
+
%span.author-name
|
48
|
+
|
49
|
+
= article.author_name
|
50
|
+
|
51
|
+
.author-right
|
52
|
+
|
53
|
+
%i.far.fa-comment.fa-2x.pt-1
|
54
|
+
|
55
|
+
= article.comment_count
|
56
|
+
|
57
|
+
%i.far.fa-thumbs-up.fa-2x.pt-1.pl-1
|
58
|
+
|
59
|
+
= article.like_count
|
60
|
+
|
61
|
+
.articles-tags
|
62
|
+
|
63
|
+
- article.tags.each do |tag|
|
64
|
+
|
65
|
+
%span.articles-tag
|
66
|
+
|
67
|
+
%span #{tag.name}
|
68
|
+
|
69
|
+
.articles-time
|
70
|
+
|
71
|
+
%time(datetime="#{article.created_at}")
|
72
|
+
|
73
|
+
= time_ago_in_words(article.created_at) + "前"
|
74
|
+
|
75
|
+
```
|
8
76
|
|
9
77
|
article.rb
|
10
78
|
|