質問編集履歴

4

その後試したこと(ルーティングの編集)について経過を追記しました。

2020/03/08 22:50

投稿

punchan36
punchan36

スコア105

test CHANGED
File without changes
test CHANGED
@@ -218,17 +218,55 @@
218
218
 
219
219
 
220
220
 
221
- ### 試したこと
221
+ ### その後、試したこと
222
+
222
-
223
+ 上記の質問をさせて頂いてから、数日が経過しました。
223
-
224
-
224
+
225
+
226
+
225
- ヘッダーからリンクに飛ばしたので、application.html.erbのヘッダ部分を以下の様に書いてみまたが、間違っているようでページ表示されません。。
227
+ 「rooms/index」に飛んでるにも関わらずRoomsController#showでエラが発生しているおかしいと思い調べた所、
228
+
226
-
229
+ resourcesでルーティングを定義した場合のエラーについて[こちら](https://teratail.com/questions/68249)に書かれていた為、参考にして以下の様にルーティングを変更しました。
230
+
231
+
232
+
227
- ```Ruby
233
+ ```Ruby
234
+
228
-
235
+ resources :rooms, :only => [:create, :show, :index]
236
+
237
+   ↓
238
+
229
- <%= link_to("Messages", "/rooms/index", class: "link") %>
239
+ get 'rooms/index' => 'rooms#index'
240
+
230
-
241
+ resources :rooms, :only => [:create, :show]
242
+
231
- ```
243
+ ```
244
+
245
+ すると「RoomsController#index」をしっかりと読み込んでくれました。
246
+
247
+ しかし今度は「RoomsController#index」内で以下のエラーが発生しました。
248
+
249
+
250
+
251
+ ```
252
+
253
+ NoMethodError in RoomsController#index
254
+
255
+ undefined method `id' for nil:NilClass
256
+
257
+ Extracted source (around line #28):
258
+
259
+
260
+
261
+  @anotherEntries = Entry.where(room_id: myRoomIds).where('user_id != ?', @user.id)
262
+
263
+ end
264
+
265
+ end
266
+
267
+ ```
268
+
269
+ 自分でも解決に向け色々と調べておりますが、どなたか原因が分かる方がいらっしゃれば教えて頂けると有難いです。
232
270
 
233
271
 
234
272
 

3

タイトルや「前提・実現したいこと」に編集を加えました。

2020/03/08 22:50

投稿

punchan36
punchan36

スコア105

test CHANGED
@@ -1 +1 @@
1
- 【Rails】DM一覧ページのルティングと表示について
1
+ 【Rails】DM一覧ページでエラ表示される
test CHANGED
@@ -6,7 +6,9 @@
6
6
 
7
7
 
8
8
 
9
- しかし、この「DM一覧ページ」をどのようなルーティング設定ビュ表示ば良のかが分かりせん。どなたかお知恵を拝借頂けると幸いです。
9
+ しかしルーティング設定の仕方が悪いのかエラ表示てしまいます。
10
+
11
+ どなたかお知恵を拝借頂けると幸いです。
10
12
 
11
13
 
12
14
 
@@ -220,11 +222,11 @@
220
222
 
221
223
 
222
224
 
223
- ヘッダーからリンクに飛ばしたいので以下の様に書いてみましたが、間違っているようでページが表示されません。。
225
+ ヘッダーからリンクに飛ばしたいので、「application.html.erb」のヘッダー部分を以下の様に書いてみましたが、間違っているようでページが表示されません。。
224
-
226
+
225
- ```Ruby
227
+ ```Ruby
226
-
228
+
227
- <%= link_to("Messages", "/rooms/#{@current_user.id}/index", class: "link") %>
229
+ <%= link_to("Messages", "/rooms/index", class: "link") %>
228
230
 
229
231
  ```
230
232
 

2

エラーメッセージとroutes.rbを追記しました。

2020/03/06 04:30

投稿

punchan36
punchan36

スコア105

test CHANGED
File without changes
test CHANGED
@@ -10,6 +10,34 @@
10
10
 
11
11
 
12
12
 
13
+ ### 発生している問題・エラーメッセージ
14
+
15
+
16
+
17
+ ```
18
+
19
+ ActiveRecord::RecordNotFound in RoomsController#show
20
+
21
+ Couldn't find Room with 'id'=index
22
+
23
+ Extracted source (around line #10):
24
+
25
+
26
+
27
+ def show
28
+
29
+ **@room = Room.find(params[:id])**
30
+
31
+ if Entry.where(:user_id => @current_user.id, :room_id => @room.id).present?
32
+
33
+ @messages = @room.messages
34
+
35
+ @message = Message.new
36
+
37
+ ```
38
+
39
+
40
+
13
41
  ### rooms_controller.rb
14
42
 
15
43
 
@@ -96,6 +124,98 @@
96
124
 
97
125
 
98
126
 
127
+ ### routes.rb
128
+
129
+
130
+
131
+ ```Ruby
132
+
133
+ Rails.application.routes.draw do
134
+
135
+ post "likes/:post_id/create" => "likes#create"
136
+
137
+ post "likes/:post_id/destroy" => "likes#destroy"
138
+
139
+
140
+
141
+ get "login" => "users#login_form"
142
+
143
+ post "login" => "users#login"
144
+
145
+ post "logout" => "users#logout"
146
+
147
+
148
+
149
+ post "users/:id/update" => "users#update"
150
+
151
+ get "users/:id/edit" => "users#edit"
152
+
153
+ post "users/create" => "users#create"
154
+
155
+ get "signup" => "users#new"
156
+
157
+ get 'users/index' => 'users#index'
158
+
159
+ get "users/:id" => "users#show"
160
+
161
+ get "users/:id/follow" => "users#follow"
162
+
163
+ get "/" => "users#top"
164
+
165
+ post "users/:id/destroy" => "users#destroy"
166
+
167
+
168
+
169
+ get 'posts/index'=> 'posts#index'
170
+
171
+ get "posts/new" => "posts#new"
172
+
173
+ get "posts/:id" => "posts#show"
174
+
175
+ post "posts/create" => "posts#create"
176
+
177
+ get "posts/:id/edit" => "posts#edit"
178
+
179
+ post "posts/:id/update" => "posts#update"
180
+
181
+ post "posts/:id/destroy" => "posts#destroy"
182
+
183
+ get "posts/search" => "posts#search"
184
+
185
+
186
+
187
+ get 'about/about'
188
+
189
+ get 'home/top' => 'home#top'
190
+
191
+ get 'top' => 'home#top'
192
+
193
+ get 'about' => 'about#about'
194
+
195
+
196
+
197
+ resources :users do
198
+
199
+ member do
200
+
201
+ get :following, :followers, :users_tweets
202
+
203
+ end
204
+
205
+ end
206
+
207
+ resources :relationships, only: [:create, :destroy]
208
+
209
+
210
+
211
+ resources :messages, :only => [:create]
212
+
213
+ resources :rooms, :only => [:create, :show, :index]
214
+
215
+ ```
216
+
217
+
218
+
99
219
  ### 試したこと
100
220
 
101
221
 
@@ -110,8 +230,6 @@
110
230
 
111
231
 
112
232
 
113
-
114
-
115
233
  ### 補足情報(FW/ツールのバージョンなど)
116
234
 
117
235
 

1

タイトルに【Rails】を追記しました。

2020/03/06 04:14

投稿

punchan36
punchan36

スコア105

test CHANGED
@@ -1 +1 @@
1
- DM一覧ページのルーティングと表示について
1
+ 【Rails】DM一覧ページのルーティングと表示について
test CHANGED
File without changes