質問編集履歴

1

誤字や文法の修正

2020/08/27 05:53

投稿

kohdohg
kohdohg

スコア12

test CHANGED
@@ -1 +1 @@
1
- railsのバリデーションのonオプションで、update直前にチェックしたい
1
+ バリデーションのonオプションupdate内でうまく発動したい
test CHANGED
@@ -1,4 +1,4 @@
1
- railsのvalidatesメソッドのonオプションの発動タイミングで悩んでいます。
1
+ validatesメソッドのonオプションの発動タイミングで悩んでいます。
2
2
 
3
3
 
4
4
 
@@ -6,7 +6,7 @@
6
6
 
7
7
  package.rb
8
8
 
9
-
9
+
10
10
 
11
11
  validates :haitatsu_kiboubi, presence: true, on: :step20
12
12
 
@@ -32,19 +32,21 @@
32
32
 
33
33
  flash[:success] = "更新されました。"
34
34
 
35
- redirect_to root_path #メニュー(user/id)へ
35
+ redirect_to root_path
36
36
 
37
37
  else
38
38
 
39
39
  render "edit"
40
40
 
41
- end
41
+ endd
42
42
 
43
43
  end
44
44
 
45
45
  ```
46
46
 
47
- と記述すれば、haitatsu_kiboubiが入力されていれば更新されると思っていたのですが、空白と判断されて、editに差し戻しにされてしまします
47
+ と記述すれば、入力フォームにhaitatsu_kiboubiの値が入ていれば更新されると思っていまし
48
+
49
+ が、実際は値なしと判断されて、editに差し戻されます。
48
50
 
49
51
 
50
52
 
@@ -62,7 +64,7 @@
62
64
 
63
65
  ```
64
66
 
65
- と記述すると、バリデーションとしては効くのですが、先にupdateが働いてしまうので、バリデーション対象外の項目はDBに保存されてしまいます。
67
+ と記述すると、バリデーションは効くのですが、先にupdateが働いてしま、バリデーション対象外の項目はDBで更新されてしまいます。
66
68
 
67
69
 
68
70
 
@@ -78,4 +80,8 @@
78
80
 
79
81
  ```
80
82
 
83
+ と記述すれば、問題ないのはわかっているのですが、update内で条件によってバリデーション対象を切り替えたいため、上記のような書き方をしています。
84
+
85
+
86
+
81
- と記述すれば、問題にないはわかですが
87
+ 書き方を修正すれば動くのかアプローチを取た方がお教え下さい。