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

質問編集履歴

5

修正

2019/01/05 14:25

投稿

1750xkcm
1750xkcm

スコア17

title CHANGED
File without changes
body CHANGED
@@ -22,7 +22,8 @@
22
22
 
23
23
  @fugo = Fugo.new(name: params[:name])
24
24
  @fugo.save!
25
-
25
+ end
26
+ redirect_to :root
26
27
  rescue ActiveRecord::RecordInvalid => error
27
28
 
28
29
  `@error = error.record`

4

修正

2019/01/05 14:25

投稿

1750xkcm
1750xkcm

スコア17

title CHANGED
File without changes
body CHANGED
@@ -14,13 +14,13 @@
14
14
  ```controller
15
15
  ActiveRecord::Base.transaction do
16
16
 
17
- @hoge = Hoge.new(id: params[:id])
17
+ @hoge = Hoge.new(name: params[:name])
18
18
  @hoge.save!
19
19
 
20
- @fuga = Fuga.new(id: params[:id])
20
+ @fuga = Fuga.new(name: params[:name])
21
21
  @fuga.save!
22
22
 
23
- @fugo = Fugo.new(id: params[:id])
23
+ @fugo = Fugo.new(name: params[:name])
24
24
  @fugo.save!
25
25
 
26
26
  rescue ActiveRecord::RecordInvalid => error
@@ -39,17 +39,17 @@
39
39
  ```view
40
40
  <div>
41
41
  <p>ほげほげ</p>
42
- <%= hoge_error_message(:id) %>
42
+ <%= hoge_error_message(:name) %>
43
43
  </div>
44
44
 
45
45
  <div>
46
46
  <p>ふがふが</p>
47
- <%= fuga_error_message(:id) %>
47
+ <%= fuga_error_message(:name) %>
48
48
  </div>
49
49
 
50
50
  <div>
51
51
  <p>ふごふご</p>
52
- <%= fugo_error_message(:id) %>
52
+ <%= fugo_error_message(:name) %>
53
53
  </div>
54
54
  ```
55
55
 

3

文法修正

2019/01/05 08:22

投稿

1750xkcm
1750xkcm

スコア17

title CHANGED
File without changes
body CHANGED
@@ -1,12 +1,12 @@
1
- 例外処理に移行したあとにバリデーション情報をクラス別に分類して格納させる方法を教えてください。
1
+ 例外処理に移行したあとにバリデーションエラー情報をクラス別に分類して格納させる方法を教えてください。
2
2
 
3
- 下記のようにすれば@errorに全てのバリデーションエラー情報格納させると思うのですが、
3
+ 下記のようにすれば@errorに全てのバリデーションエラー情報格納できると思うのですが、
4
4
  rescue ActiveRecord::RecordInvalid => error
5
5
  @error = error.record
6
6
 
7
7
  そうではなく・・・
8
- @hoge にはHogeクラスのバリデーションエラー情報を格納し、
9
- @fugaにはFuga、@fugoにはFugoをとしたいです。
8
+ @hoge にはHogeクラスの、@fugaにはFugaクラスの、@fugoにはFugoクラスの
9
+ バリデーションエラー情報をそれぞれ分けて格納したいです。
10
10
 
11
11
  どのように記述すればよいでしょうか?
12
12
  helperとの連動が必要です。

2

補足

2019/01/05 08:19

投稿

1750xkcm
1750xkcm

スコア17

title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,8 @@
1
1
  例外処理に移行したあとにバリデーション情報をクラス別に分類して格納させる方法を教えてください。
2
2
 
3
3
  下記のようにすれば@errorに全てのバリデーションエラー情報が格納させると思うのですが、
4
+ rescue ActiveRecord::RecordInvalid => error
4
- @error = error.record.errors
5
+ @error = error.record
5
6
 
6
7
  そうではなく・・・
7
8
  @hoge にはHogeクラスのバリデーションエラー情報を格納し、

1

誤字修正

2019/01/05 08:08

投稿

1750xkcm
1750xkcm

スコア17

title CHANGED
File without changes
body CHANGED
@@ -1,4 +1,4 @@
1
- 例外処理に以降したあとにバリデーション情報をクラス別に分類して格納させる方法を教えてください。
1
+ 例外処理に移行したあとにバリデーション情報をクラス別に分類して格納させる方法を教えてください。
2
2
 
3
3
  下記のようにすれば@errorに全てのバリデーションエラー情報が格納させると思うのですが、
4
4
  @error = error.record.errors
@@ -61,11 +61,11 @@
61
61
  end
62
62
 
63
63
  def fuga_error_message(attribute)
64
- @hoge.errors[attribute].map{|error|"<p class=\"error_message\">" + error + "</p>"}.join("<br>").html_safe
64
+ @fuga.errors[attribute].map{|error|"<p class=\"error_message\">" + error + "</p>"}.join("<br>").html_safe
65
65
  end
66
66
 
67
67
  def fugo_error_message(attribute)
68
- @hoge.errors[attribute].map{|error|"<p class=\"error_message\">" + error + "</p>"}.join("<br>").html_safe
68
+ @fugo.errors[attribute].map{|error|"<p class=\"error_message\">" + error + "</p>"}.join("<br>").html_safe
69
69
  end
70
70
 
71
71
  end