質問編集履歴

3

修正

2021/10/30 22:35

投稿

katahik
katahik

スコア79

test CHANGED
File without changes
test CHANGED
@@ -8,7 +8,13 @@
8
8
 
9
9
  ```
10
10
 
11
+ validates :price,
12
+
11
- validates :price, length: {maximum: 23}
13
+ length: { maximum: 23 },
14
+
15
+ presence: true,
16
+
17
+ numericality: true
12
18
 
13
19
  ```
14
20
 

2

編集

2021/10/30 22:34

投稿

katahik
katahik

スコア79

test CHANGED
File without changes
test CHANGED
@@ -84,6 +84,24 @@
84
84
 
85
85
  ```
86
86
 
87
+ パラメータをみたときに文字列になっていたので、controllerのパラメータを受け取るところで、v[:price] = v[:price].to_i としましたが、やはり、バリデーションに失敗しました。
88
+
89
+ ```
90
+
91
+ def create_company_params
92
+
93
+ params.require(:company).permit(
94
+
95
+ ).tap do |v|
96
+
97
+ v[:price] = v[:price].to_i
98
+
99
+ end
100
+
101
+ end
102
+
103
+ ```
104
+
87
105
 
88
106
 
89
107
  なぜバリデーションの最大文字数が、モデルに設定したものと差異があるのか、わかりません。

1

修正

2021/10/30 22:03

投稿

katahik
katahik

スコア79

test CHANGED
File without changes
test CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  ```
10
10
 
11
- validates :price, length: {maximux: 23}
11
+ validates :price, length: {maximum: 23}
12
12
 
13
13
  ```
14
14