質問するログイン新規登録

質問編集履歴

4

rake routes 記入

2019/10/26 05:25

投稿

Rick_darts
Rick_darts

スコア10

title CHANGED
File without changes
body CHANGED
@@ -180,10 +180,12 @@
180
180
  get 'tweets' => 'blogs#index'
181
181
  get 'tweets/new' => 'blogs#new'
182
182
  post 'tweets' => 'blogs#create'
183
- delete 'tweets/:id' => 'blogs#destroy'
183
+ delete 'tweets/:id' => 'blogs#destroy' ![イメージ説明](b23843e07818ab3042ee8335d908e556.png)
184
184
  patch 'tweets/:id' => 'blogs#update'
185
185
  get 'tweets/:id/edit' => 'blogs#edit'
186
186
  end
187
187
  ```
188
188
 
189
- ルーティングがおかしいのでしょうか?
189
+ ルーティングがおかしいのでしょうか?
190
+
191
+ ![イメージ説明](f59cf750a81214545094ac9b5356fa4f.png)

3

修正を加えてみましたがまだエラー表示になります。

2019/10/26 05:25

投稿

Rick_darts
Rick_darts

スコア10

title CHANGED
File without changes
body CHANGED
@@ -125,4 +125,65 @@
125
125
 
126
126
  お手数をお掛けしますが、ご教授おねがいします。
127
127
 
128
+ ##追記
129
+ kuraudo様の回答通りに記入させていただきました。
130
+
131
+ ```
132
+ def update
133
+ @tweets = Tweet.find(params[:id])
134
+
135
+ if @tweets.user_id == current_user.id
136
+ @tweets.update(tweet_params)
137
+ end
138
+ end
139
+ ```
140
+
141
+ しかしながら
142
+ ![イメージ説明](56126e83ed114b5057ef17ef02ed2995.png)
143
+
144
+ かわらずでした。
145
+
146
+ ネットで調べた結果違う書き方?も見つけられましたので、書き込んでみました。
147
+ ```
148
+ <div class="contents row">
149
+ <%= form_for :tweets, url: tweets_path(@tweets), method: :patch do |f| %>
150
+ <h6>編集する</h6>
151
+ <%= f.text_area :text, placeholder: "Text"%>
152
+ <%= f.submit "SENT" %>
153
+ <% end %>
154
+ </div>
155
+ ```
156
+
157
+ ```
158
+
159
+ def update
160
+ @tweets = Tweet.find(params[:id])
161
+ if @tweets.user_id == current_user.id
162
+ @tweets.update(tweet_params)
163
+ end
164
+ end
165
+ ```
166
+
167
+ 結果
168
+ ![イメージ説明](0f146c66b85f155892f9239f70033cbc.png)
169
+
170
+ 編集画面を表示することはできましたが、SENTを押すと
171
+
172
+ ![イメージ説明](37b9c7d3f5be18a9d322c7f01008f15d.png)
173
+
174
+ ルーティングエラーになりました。
175
+
176
+ ```
177
+ Rails.application.routes.draw do
178
+ devise_for :users
128
- ### 補足情報(FW/ツールのバージョンなど)
179
+ root to: 'blogs#index'
180
+ get 'tweets' => 'blogs#index'
181
+ get 'tweets/new' => 'blogs#new'
182
+ post 'tweets' => 'blogs#create'
183
+ delete 'tweets/:id' => 'blogs#destroy'
184
+ patch 'tweets/:id' => 'blogs#update'
185
+ get 'tweets/:id/edit' => 'blogs#edit'
186
+ end
187
+ ```
188
+
189
+ ルーティングがおかしいのでしょうか?

2

routes記入しました。

2019/10/26 05:13

投稿

Rick_darts
Rick_darts

スコア10

title CHANGED
File without changes
body CHANGED
@@ -82,7 +82,22 @@
82
82
  end
83
83
 
84
84
  ```
85
+ ```
86
+ Rails.application.routes.draw do
87
+ devise_for :users
88
+ root to: 'blogs#index'
89
+ get 'tweets' => 'blogs#index'
90
+ get 'tweets/new' => 'blogs#new'
91
+ post 'tweets' => 'blogs#create'
92
+ delete 'tweets/:id' => 'blogs#destroy'
93
+ patch 'tweets/:id' => 'blogs#update'
94
+ get 'tweets/:id/edit' => 'blogs#edit'
95
+ end
96
+ ```
85
97
 
98
+
99
+
100
+
86
101
  ### 試したこと
87
102
 
88
103
  まず、edit.htmlをform_forに書き換える際にnew.html.erbのform_forを参考にして書きました。

1

エラーメッセージの詳細を載せました。

2019/10/26 04:39

投稿

Rick_darts
Rick_darts

スコア10

title CHANGED
File without changes
body CHANGED
@@ -9,6 +9,7 @@
9
9
  ```
10
10
  NoMethodError in Blogs#edit
11
11
  ```
12
+ ![イメージ説明](200826e1a06ae53fe46eb40b8d4d8a48.png)
12
13
 
13
14
  ### 該当のソースコード
14
15