質問編集履歴

2

文法の訂正

2020/07/15 08:53

投稿

Slimeda
Slimeda

スコア2

test CHANGED
File without changes
test CHANGED
@@ -20,85 +20,99 @@
20
20
 
21
21
  ```
22
22
 
23
+
24
+
23
- ###ターミナル
25
+ ### Messagescontroller
24
-
26
+
25
- ```
27
+ ```
26
-
27
- root GET / groups#index
28
+
28
-
29
- edit_user GET /users/:id/edit(.:format) users#edit
30
-
31
- user PATCH /users/:id(.:format) users#update
32
-
33
- PUT /users/:id(.:format) users#update
34
-
35
- group_calendar_messages GET /groups/:group_id/calendars/:calendar_id/messages(.:format) messages#index
36
-
37
- POST /groups/:group_id/calendars/:calendar_id/messages(.:format) messages#create
38
-
39
- group_calendars GET /groups/:group_id/calendars(.:format) calendars#index
40
-
41
- POST /groups/:group_id/calendars(.:format) calendars#create
42
-
43
- new_group_calendar GET /groups/:group_id/calendars/new(.:format) calendars#new
44
-
45
- groups GET /groups(.:format) groups#index
46
-
47
- POST /groups(.:format) groups#create
29
+ class MessagesController < ApplicationController
48
-
30
+
49
- new_group GET /groups/new(.:format) groups#new
31
+ before_action :set_calendar
32
+
33
+
34
+
50
-
35
+ def index
36
+
51
- edit_group GET /groups/:id/edit(.:format) groups#edit
37
+ @message = Message.new
52
-
38
+
53
- group PATCH /groups/:id(.:format) groups#update
39
+ @messages = @calendar
54
-
40
+
55
- PUT /groups/:id(.:format)
41
+ @messages = @calendar.messages.includes(:user)
56
-
42
+
57
- ```
43
+ end
58
-
44
+
45
+
46
+
59
- ###routes
47
+ def create
60
-
61
- ```
48
+
62
-
63
- Rails.application.routes.draw do
64
-
65
- devise_for :users
66
-
67
- root 'groups#index'
68
-
69
- resources :users, only: [:edit, :update]
70
-
71
- resources :groups, only: [:index, :new, :create, :edit, :update] do
72
-
73
- resources :calendars, only: [:index, :new, :create] do
49
+ @message = @calendar.messages.new(message_params)
50
+
74
-
51
+ if @message.save
52
+
53
+ redirect_to calendar_messages_path(@calendar)
54
+
55
+ else
56
+
75
- resources :messages, only: [:index, :create]
57
+ @messages = @calendar.messages.includes(:user)
58
+
59
+ flash.now[:alert] = 'メッセージを入力してください。'
60
+
61
+ render :index
76
62
 
77
63
  end
78
64
 
79
65
  end
80
66
 
67
+
68
+
69
+ private
70
+
71
+
72
+
73
+ def message_params
74
+
75
+ params.require(:message).permit(:content, :image).merge(user_id: current_user.id)
76
+
77
+ end
78
+
79
+
80
+
81
+ def set_calendar
82
+
83
+ @calendar = Calendar.find(params[:calendar_id])
84
+
85
+ end
86
+
81
87
  end
82
88
 
83
89
  ```
84
90
 
85
- ### Messagescontroller
91
+ ### CalendarsController
86
-
92
+
93
+
94
+
87
- ```
95
+ ```
88
-
96
+
89
- class MessagesController < ApplicationController
97
+ class CalendarsController < ApplicationController
90
-
98
+
91
- before_action :set_calendar
99
+ before_action :set_group
92
100
 
93
101
 
94
102
 
95
103
  def index
96
104
 
105
+ @calendars = @group
106
+
107
+ end
108
+
109
+
110
+
111
+ def new
112
+
97
- @message = Message.new
113
+ @calendar = Calendar.new
98
-
99
- @messages = @calendar
114
+
100
-
101
- @messages = @calendar.messages.includes(:user)
115
+ @calendars = @group.calendars.includes(:user)
102
116
 
103
117
  end
104
118
 
@@ -106,19 +120,15 @@
106
120
 
107
121
  def create
108
122
 
109
- @message = @calendar.messages.new(message_params)
123
+ @calendar = @group.calendars.new(calendar_params)
110
-
124
+
111
- if @message.save
125
+ if @calendar.save
112
-
126
+
113
- redirect_to calendar_messages_path(@calendar)
127
+ redirect_to group_calendars_path(@group, @calendar)
114
128
 
115
129
  else
116
130
 
117
- @messages = @calendar.messages.includes(:user)
118
-
119
- flash.now[:alert] = 'メッセージを入力してください。'
120
-
121
- render :index
131
+ render :new
122
132
 
123
133
  end
124
134
 
@@ -130,49 +140,47 @@
130
140
 
131
141
 
132
142
 
133
- def message_params
143
+ def calendar_params
134
-
144
+
135
- params.require(:message).permit(:content, :image).merge(user_id: current_user.id)
145
+ params.require(:calendar).permit(:date).merge(user_id: current_user.id)
136
-
146
+
137
- end
147
+ end
138
-
139
-
140
-
148
+
149
+
150
+
141
- def set_calendar
151
+ def set_group
142
-
152
+
143
- @calendar = Calendar.find(params[:calendar_id])
153
+ @group = Group.find(params[:group_id])
144
154
 
145
155
  end
146
156
 
147
157
  end
148
158
 
159
+
160
+
149
- ```
161
+ ```
150
-
162
+
163
+
164
+
151
- ### CalendarsController
165
+ ### GroupsController
152
-
153
-
154
-
166
+
155
- ```
167
+ ```
156
-
168
+
157
- class CalendarsController < ApplicationController
169
+ class GroupsController < ApplicationController
158
-
159
- before_action :set_group
160
170
 
161
171
 
162
172
 
163
173
  def index
164
174
 
165
- @calendars = @group
166
-
167
175
  end
168
176
 
169
177
 
170
178
 
171
179
  def new
172
180
 
173
- @calendar = Calendar.new
181
+ @group = Group.new
174
-
182
+
175
- @calendars = @group.calendars.includes(:user)
183
+ @group.users << current_user
176
184
 
177
185
  end
178
186
 
@@ -180,11 +188,11 @@
180
188
 
181
189
  def create
182
190
 
183
- @calendar = @group.calendars.new(calendar_params)
191
+ @group = Group.new(group_params)
184
-
192
+
185
- if @calendar.save
193
+ if @group.save
186
-
194
+
187
- redirect_to group_calendars_path(@group, @calendar)
195
+ redirect_to root_path
188
196
 
189
197
  else
190
198
 
@@ -196,112 +204,44 @@
196
204
 
197
205
 
198
206
 
207
+ def edit
208
+
209
+ @group = Group.find(params[:id])
210
+
211
+ end
212
+
213
+
214
+
215
+ def update
216
+
217
+ @group = Group.find(params[:id])
218
+
219
+ if @group.update(group_params)
220
+
221
+ redirect_to root_path
222
+
223
+ else
224
+
225
+ render :edit
226
+
227
+ end
228
+
229
+ end
230
+
231
+
232
+
199
233
  private
200
234
 
201
-
202
-
203
- def calendar_params
235
+ def group_params
204
-
236
+
205
- params.require(:calendar).permit(:date).merge(user_id: current_user.id)
237
+ params.require(:group).permit(:name, user_ids: [])
206
-
238
+
207
- end
239
+ end
208
-
209
-
210
-
211
- def set_group
240
+
212
-
213
- @group = Group.find(params[:group_id])
241
+
214
-
215
- end
216
242
 
217
243
  end
218
244
 
219
-
220
-
221
- ```
222
-
223
-
224
-
225
- ### GroupsController
226
-
227
- ```
228
-
229
- class GroupsController < ApplicationController
230
-
231
-
232
-
233
- def index
234
-
235
- end
236
-
237
-
238
-
239
- def new
240
-
241
- @group = Group.new
242
-
243
- @group.users << current_user
244
-
245
- end
246
-
247
-
248
-
249
- def create
250
-
251
- @group = Group.new(group_params)
252
-
253
- if @group.save
254
-
255
- redirect_to root_path
256
-
257
- else
258
-
259
- render :new
260
-
261
- end
262
-
263
- end
264
-
265
-
266
-
267
- def edit
268
-
269
- @group = Group.find(params[:id])
270
-
271
- end
272
-
273
-
274
-
275
- def update
276
-
277
- @group = Group.find(params[:id])
278
-
279
- if @group.update(group_params)
280
-
281
- redirect_to root_path
282
-
283
- else
284
-
285
- render :edit
286
-
287
- end
288
-
289
- end
290
-
291
-
292
-
293
- private
294
-
295
- def group_params
296
-
297
- params.require(:group).permit(:name, user_ids: [])
298
-
299
- end
300
-
301
-
302
-
303
- end
304
-
305
245
  ```
306
246
 
307
247
  ### エラーが出ているところのビュー
@@ -346,35 +286,7 @@
346
286
 
347
287
  ```
348
288
 
349
- ###migration message
289
+
350
-
351
- ```
352
-
353
- class CreateMessages < ActiveRecord::Migration[6.0]
354
-
355
- def change
356
-
357
- create_table :messages, id: :integer do |t|
358
-
359
- t.string :content
360
-
361
- t.string :image
362
-
363
- t.integer :calendar_id, foreign_key: true
364
-
365
- t.integer :user_id, foreign_key: true
366
-
367
- t.timestamps
368
-
369
- end
370
-
371
- end
372
-
373
- end
374
-
375
-
376
-
377
- ```
378
290
 
379
291
  ### 試したこと
380
292
 
@@ -382,8 +294,6 @@
382
294
 
383
295
  = link_to group_calendar_messages_pathのリンクはrails routesで確認しているのであっています。
384
296
 
385
- また、messageのmigrationだけreferences型がエラーが出て使えなくて、カラムをintegerに変えています。ここでidを取得できていないのかなともみて取れるので載せておきます。
386
-
387
297
 
388
298
 
389
299
  ### 補足情報(FW/ツールのバージョンなど)

1

記入のし忘れ

2020/07/15 08:53

投稿

Slimeda
Slimeda

スコア2

test CHANGED
File without changes
test CHANGED
@@ -56,7 +56,7 @@
56
56
 
57
57
  ```
58
58
 
59
- ###
59
+ ###routes
60
60
 
61
61
  ```
62
62