質問編集履歴

5

あああ

2021/05/08 12:51

投稿

kazuki0904
kazuki0904

スコア12

test CHANGED
File without changes
test CHANGED
@@ -1,10 +1,6 @@
1
1
  railsにより@foodsの並び替えについてご教示いただきたく思います。
2
2
 
3
3
  ### やりたいこと
4
-
5
- https://www.dogfoody.jp/
6
-
7
- こちらのサイトです。
8
4
 
9
5
  総合のランキングと犬ごとのランキングで並び順を変えたいです。
10
6
 
@@ -38,139 +34,7 @@
38
34
 
39
35
  現在は、口コミの星の平均avg(microposts.rate)を降順で出しています。
40
36
 
41
- ```rails
42
37
 
43
- <% @foods.order("avg(microposts.rate) desc").each.with_index(params[:page].to_i) do |food,n| %>
44
-
45
- ```
46
-
47
-
48
-
49
- ```foodcontroller
50
-
51
- @foods = Food.left_joins(:microposts).group("id")
52
-
53
- @dogs = Dog.all
54
-
55
- ```
56
-
57
-
58
-
59
- User table
60
-
61
- |ID|name||
62
-
63
- |:--|:--:|--:|
64
-
65
- |30|admin||
66
-
67
-
68
-
69
- Food table
70
-
71
- |ID|name|rate|
72
-
73
- |:--|:--:|--:|
74
-
75
- |9|ドッグフード名||
76
-
77
-
78
-
79
- Dog table
80
-
81
- |ID|name||
82
-
83
- |:--|:--:|--:|
84
-
85
- |4|トイプードル||
86
-
87
- |5|ブルドック||
88
-
89
-
90
-
91
- Micropost table
92
-
93
- |id|content|user_id|rate|food_id|dog_id|
94
-
95
- |:--|:--:|--:|
96
-
97
- |1|愛犬がとても喜んで食べます。|30|3.5|9|4|
98
-
99
-
100
-
101
- ```routes
102
-
103
- https://www.dogfoody.jp/dogs/dog_id
104
-
105
- ```
106
-
107
- ```FoodModel
108
-
109
- has_many :microposts
110
-
111
- has_many :favorites
112
-
113
- has_many :users, through: :favorites
114
-
115
- validates :name, uniqueness: true
116
-
117
- ```
118
-
119
- ```MicropostModel
120
-
121
- belongs_to :food
122
-
123
- belongs_to :user
124
-
125
- ```
126
-
127
- ```UserModel
128
-
129
- has_many :microposts, dependent: :destroy
130
-
131
- has_many :foods
132
-
133
- ```
134
-
135
-
136
-
137
- ```migrate
138
-
139
- User
140
-
141
- t.string "name"
142
-
143
- Micropost
144
-
145
- t.text "content"
146
-
147
- t.integer "user_id"
148
-
149
- t.float "rate", default: 0.0, null: false
150
-
151
- t.string "dog_id"
152
-
153
- t.integer "food_id"
154
-
155
- t.index ["food_id", "created_at"], name: "index_microposts_on_food_id_and_created_at"
156
-
157
- t.index ["food_id"], name: "index_microposts_on_food_id"
158
-
159
- t.index ["user_id", "created_at"], name: "index_microposts_on_user_id_and_created_at"
160
-
161
- t.index ["user_id"], name: "index_microposts_on_user_id"
162
-
163
- Food
164
-
165
- t.string "name"
166
-
167
- Dog
168
-
169
- t.string "name"
170
-
171
- t.string "image"
172
-
173
- ```
174
38
 
175
39
 
176
40
 

4

shemaファイル追記いたしました。

2021/05/08 12:51

投稿

kazuki0904
kazuki0904

スコア12

test CHANGED
File without changes
test CHANGED
@@ -134,6 +134,44 @@
134
134
 
135
135
 
136
136
 
137
+ ```migrate
138
+
139
+ User
140
+
141
+ t.string "name"
142
+
143
+ Micropost
144
+
145
+ t.text "content"
146
+
147
+ t.integer "user_id"
148
+
149
+ t.float "rate", default: 0.0, null: false
150
+
151
+ t.string "dog_id"
152
+
153
+ t.integer "food_id"
154
+
155
+ t.index ["food_id", "created_at"], name: "index_microposts_on_food_id_and_created_at"
156
+
157
+ t.index ["food_id"], name: "index_microposts_on_food_id"
158
+
159
+ t.index ["user_id", "created_at"], name: "index_microposts_on_user_id_and_created_at"
160
+
161
+ t.index ["user_id"], name: "index_microposts_on_user_id"
162
+
163
+ Food
164
+
165
+ t.string "name"
166
+
167
+ Dog
168
+
169
+ t.string "name"
170
+
171
+ t.string "image"
172
+
173
+ ```
174
+
137
175
 
138
176
 
139
177
 

3

modelファイルの追記

2021/04/04 10:12

投稿

kazuki0904
kazuki0904

スコア12

test CHANGED
File without changes
test CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  https://www.dogfoody.jp/
6
6
 
7
- こちらのサイトです。(申し訳ございません、ランキングは登録しないと見れないのでご了承ください。)
7
+ こちらのサイトです。
8
8
 
9
9
  総合のランキングと犬ごとのランキングで並び順を変えたいです。
10
10
 
@@ -16,13 +16,13 @@
16
16
 
17
17
  総合のランキング
18
18
 
19
- A→B→C
19
+ ドッグフードA→ドッグフードB→ドッグフード
20
20
 
21
21
 
22
22
 
23
- ミニチュアダックスフンドのランキング
23
+ ミニチュアダックスフンドだけランキング
24
24
 
25
- B→A→C
25
+ ドッグフードB→ドッグフードA→ドッグフード
26
26
 
27
27
 
28
28
 
@@ -104,6 +104,38 @@
104
104
 
105
105
  ```
106
106
 
107
+ ```FoodModel
108
+
109
+ has_many :microposts
110
+
111
+ has_many :favorites
112
+
113
+ has_many :users, through: :favorites
114
+
115
+ validates :name, uniqueness: true
116
+
117
+ ```
118
+
119
+ ```MicropostModel
120
+
121
+ belongs_to :food
122
+
123
+ belongs_to :user
124
+
125
+ ```
126
+
127
+ ```UserModel
128
+
129
+ has_many :microposts, dependent: :destroy
130
+
131
+ has_many :foods
132
+
133
+ ```
134
+
135
+
136
+
137
+
138
+
107
139
 
108
140
 
109
141
  where文等試してみましたが、なかなかうまくいかずでした、、

2

テーブル構造の更新と詳細の追加

2021/04/04 02:29

投稿

kazuki0904
kazuki0904

スコア12

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,31 @@
2
2
 
3
3
  ### やりたいこと
4
4
 
5
+ https://www.dogfoody.jp/
6
+
7
+ こちらのサイトです。(申し訳ございません、ランキングは登録しないと見れないのでご了承ください。)
8
+
5
- 口コミ順に並んでいる@foodsを、さらに犬ごと並びえたい。
9
+ 総合のランキングと犬ごとのランキングで並び順を変えたいです
10
+
11
+ 何かの犬を選択し、ページに飛んだ時にドッグフードの並び順を犬ごとのランキングに分けたいです。
12
+
13
+
14
+
15
+ 例:
16
+
17
+ 総合のランキング
18
+
19
+ A→B→C
20
+
21
+
22
+
23
+ ミニチュアダックスフンドのランキング
24
+
25
+ B→A→C
26
+
27
+
28
+
29
+ だった場合にも、A→B→Cの並び順になってしまっている。
6
30
 
7
31
 
8
32
 
@@ -12,7 +36,7 @@
12
36
 
13
37
 
14
38
 
15
-
39
+ 現在は、口コミの星の平均avg(microposts.rate)を降順で出しています。
16
40
 
17
41
  ```rails
18
42
 
@@ -30,6 +54,58 @@
30
54
 
31
55
  ```
32
56
 
57
+
58
+
59
+ User table
60
+
61
+ |ID|name||
62
+
63
+ |:--|:--:|--:|
64
+
65
+ |30|admin||
66
+
67
+
68
+
69
+ Food table
70
+
71
+ |ID|name|rate|
72
+
73
+ |:--|:--:|--:|
74
+
75
+ |9|ドッグフード名||
76
+
77
+
78
+
79
+ Dog table
80
+
81
+ |ID|name||
82
+
83
+ |:--|:--:|--:|
84
+
85
+ |4|トイプードル||
86
+
87
+ |5|ブルドック||
88
+
89
+
90
+
91
+ Micropost table
92
+
93
+ |id|content|user_id|rate|food_id|dog_id|
94
+
95
+ |:--|:--:|--:|
96
+
97
+ |1|愛犬がとても喜んで食べます。|30|3.5|9|4|
98
+
99
+
100
+
101
+ ```routes
102
+
103
+ https://www.dogfoody.jp/dogs/dog_id
104
+
105
+ ```
106
+
107
+
108
+
33
109
  where文等試してみましたが、なかなかうまくいかずでした、、
34
110
 
35
111
  何卒宜しくお願い致します。

1

controllerの間違いを訂正しました

2021/03/28 09:25

投稿

kazuki0904
kazuki0904

スコア12

test CHANGED
File without changes
test CHANGED
@@ -22,11 +22,11 @@
22
22
 
23
23
 
24
24
 
25
- ```dogcontroller
25
+ ```foodcontroller
26
26
 
27
27
  @foods = Food.left_joins(:microposts).group("id")
28
28
 
29
- @micropost = Micropost.find_by(id: params[:id])
29
+ @dogs = Dog.all
30
30
 
31
31
  ```
32
32