質問編集履歴
3
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -3,7 +3,10 @@
|
|
3
3
|
モデルにvalidatesを設定して、バリデーションを行っていますが、最大文字数のバリデーションが正常に動きません
|
4
4
|
company.rb
|
5
5
|
```
|
6
|
+
validates :price,
|
6
|
-
|
7
|
+
length: { maximum: 23 },
|
8
|
+
presence: true,
|
9
|
+
numericality: true
|
7
10
|
```
|
8
11
|
このように記述して、フォームから
|
9
12
|
23文字(10000000000000000000000)入力した際にバリデーションに引っかかります。
|
2
編集
title
CHANGED
File without changes
|
body
CHANGED
@@ -41,6 +41,15 @@
|
|
41
41
|
```
|
42
42
|
Parameters: {"price"=>"10000000000000000000000"}
|
43
43
|
```
|
44
|
+
パラメータをみたときに文字列になっていたので、controllerのパラメータを受け取るところで、v[:price] = v[:price].to_i としましたが、やはり、バリデーションに失敗しました。
|
45
|
+
```
|
46
|
+
def create_company_params
|
47
|
+
params.require(:company).permit(
|
48
|
+
).tap do |v|
|
49
|
+
v[:price] = v[:price].to_i
|
50
|
+
end
|
51
|
+
end
|
52
|
+
```
|
44
53
|
|
45
54
|
なぜバリデーションの最大文字数が、モデルに設定したものと差異があるのか、わかりません。
|
46
55
|
|
1
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
モデルにvalidatesを設定して、バリデーションを行っていますが、最大文字数のバリデーションが正常に動きません
|
4
4
|
company.rb
|
5
5
|
```
|
6
|
-
validates :price, length: {
|
6
|
+
validates :price, length: {maximum: 23}
|
7
7
|
```
|
8
8
|
このように記述して、フォームから
|
9
9
|
23文字(10000000000000000000000)入力した際にバリデーションに引っかかります。
|