質問編集履歴
4
rake routes 記入
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' 
|
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
|
+

|
3
修正を加えてみましたがまだエラー表示になります。
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
|
+

|
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
|
+

|
169
|
+
|
170
|
+
編集画面を表示することはできましたが、SENTを押すと
|
171
|
+
|
172
|
+

|
173
|
+
|
174
|
+
ルーティングエラーになりました。
|
175
|
+
|
176
|
+
```
|
177
|
+
Rails.application.routes.draw do
|
178
|
+
devise_for :users
|
128
|
-
|
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記入しました。
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
エラーメッセージの詳細を載せました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -9,6 +9,7 @@
|
|
9
9
|
```
|
10
10
|
NoMethodError in Blogs#edit
|
11
11
|
```
|
12
|
+

|
12
13
|
|
13
14
|
### 該当のソースコード
|
14
15
|
|