質問編集履歴

3

タイトル修正

2019/01/14 23:35

投稿

b_kazu
b_kazu

スコア26

test CHANGED
@@ -1 +1 @@
1
- Rails5 validatesエラー時にrenderできない。なのでredirectしてもエラーメッセージが取得できない
1
+ Rails5 validatesエラー時にrenderできない
test CHANGED
File without changes

2

2019/01/15 試したことを追記しました。

2019/01/14 23:35

投稿

b_kazu
b_kazu

スコア26

test CHANGED
@@ -1 +1 @@
1
- Rails5 validatesエラーの内容を確認するためのrender plain: errors.inspectが表示されない
1
+ Rails5 validatesエラー時にrenderできない。なのでredirectしてもエラーメッセージ取得できない
test CHANGED
@@ -230,14 +230,48 @@
230
230
 
231
231
  else
232
232
 
233
- render plain: @article.errors.inspect
233
+ #render plain: @article.errors.inspect
234
-
235
-
236
-
234
+
235
+
236
+
237
- #@article = Article.new(article_params)
237
+ @article = Article.new(article_params)
238
-
238
+
239
- #render 'new'
239
+ render 'new'
240
240
 
241
241
  end
242
242
 
243
243
  ```
244
+
245
+
246
+
247
+ **==追記 2019/01/15==**
248
+
249
+
250
+
251
+ 下記を試しました。
252
+
253
+ createアクションの条件分岐を書き換え、saveされないときに、`redirect_to new_article_path`としたらページ遷移してnewページのトップ位置に戻るようになりましたがエラーメッセージは取得できませんでした。
254
+
255
+
256
+
257
+ **これだとnewページのトップに遷移するがエラーメッセージは取得できない**
258
+
259
+ ```ruby
260
+
261
+ if @article.save
262
+
263
+ redirect_to articles_path
264
+
265
+ else
266
+
267
+ #render plain: @article.errors.inspect
268
+
269
+
270
+
271
+ @article = Article.new(article_params)
272
+
273
+ redirect_to new_article
274
+
275
+ end
276
+
277
+ ```

1

試したことを追記しました。

2019/01/14 22:23

投稿

b_kazu
b_kazu

スコア26

test CHANGED
@@ -1 +1 @@
1
- Rails5 render plain: errors.inspectが表示できない
1
+ Rails5 validatesエラーの内容を確認するためのrender plain: errors.inspectが表示されない
test CHANGED
@@ -16,6 +16,8 @@
16
16
 
17
17
 
18
18
 
19
+
20
+
19
21
  **==環境==**
20
22
 
21
23
  ruby 2.5.3p105
@@ -207,3 +209,35 @@
207
209
  end
208
210
 
209
211
  ```
212
+
213
+
214
+
215
+
216
+
217
+ **==追記==**
218
+
219
+ 下記を試しました。
220
+
221
+ createアクションの条件分岐を下記のように書き換えnew.html.erbに`<p><%= @article.errors.size %></p>`を追記して、必須項目を空白のままsubmitしたにもかかわらず`0`が返ってきました。
222
+
223
+
224
+
225
+ ```ruby
226
+
227
+ if @article.save
228
+
229
+ redirect_to articles_path
230
+
231
+ else
232
+
233
+ render plain: @article.errors.inspect
234
+
235
+
236
+
237
+ #@article = Article.new(article_params)
238
+
239
+ #render 'new'
240
+
241
+ end
242
+
243
+ ```