質問編集履歴

1

タイトル・見た目修正。中身は変更なし。

2022/02/17 14:02

投稿

shisoshiso
shisoshiso

score15

test CHANGED
@@ -1 +1 @@
1
- Rails6_バリデーションにかかったときエラーメッセージを表示できない。
1
+ Rails6_バリデーションにかかったときエラーメッセージを表示できない。
test CHANGED
@@ -9,10 +9,9 @@
9
9
 
10
10
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-02-17/d6f89799-806d-4441-9857-4da9d8efec33.png)
11
11
 
12
+ models/event.rb
12
13
  バリデーションは、下記を設定しています。
13
- 仮に未入力で「Create Event」をクリックすると、全5項目がバリデーションエラーを起こします。
14
+ 未入力で「Create Event」をクリックすると、全5項目がバリデーションエラーを起こします。
14
-
15
- models/event.rb
16
15
  ```ruby
17
16
  class Event < ApplicationRecord
18
17
  validates :name, length: { maximum: 50 }, presence: true
@@ -37,9 +36,8 @@
37
36
  end
38
37
  ```
39
38
 
39
+ controllers/events_controller.rb
40
40
  バリデーションに引っかかり保存できなかったときは、views/events/new.html.slimをレンダリングします。
41
-
42
- controllers/events_controller.rb
43
41
  ```ruby
44
42
  class EventsController < ApplicationController
45
43
  def new
@@ -66,8 +64,8 @@
66
64
  end
67
65
  ```
68
66
 
67
+ views/events/new.html.slim
69
68
  バリデーションエラーを起こした時は、`= render "shared/errors", model: f.object`でエラーメッセージを差し込みます。
70
- views/events/new.html.slim
71
69
  ```ruby
72
70
  - now = Time.zone.now
73
71
 
@@ -106,7 +104,7 @@
106
104
  ```
107
105
 
108
106
  ### 自分で調べたことや試したこと
109
- 最低限以下のことはチェックしましたが、解決に至りませんでした。バリデーションエラーに関する記事は大量にあるため、参考として試してみましたがうまくいきませんでした。
107
+ 最低限以下のことはチェックしましたが、解決に至りませんでした。
110
108
  - _errors.html.slimのレンダリングは正しくできているか?
111
109
   `- if model.errors.any?`をコメントアウトして、適当なテキストを追加するとブラウザで表示できることを確認できたため、レンダリングすることはできている。
112
110