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

質問編集履歴

3

書式の改善

2018/07/07 08:25

投稿

1750xkcm
1750xkcm

スコア17

title CHANGED
File without changes
body CHANGED
@@ -1,12 +1,22 @@
1
1
  rubyの質問です。
2
2
 
3
- serializeした要素をvalidatesする方法を教えください。
3
+ serializeした要素をvalidatesする方法とし
4
+ ActiveModel::Validations#read_attribute_for_validationを
4
- 初心者のためどう手加えれば良いかわからず・・・
5
+ 記述するやり方があること知りました
5
6
 
6
- ■ 前提・実現したいこと
7
+ かし初心者のめ実装がうまくできません。
7
- serializeした要素が入力されなかった場合、「入力してください」とエラーを表示する。
8
8
 
9
+ まずどのようにコードを書き出せばよいでしょうか?
10
+ どなたか知恵を貸してください。
9
11
 
12
+ ■ 実現したいこと
13
+ inputのhogeとfugaの入力がない場合は「入力してください」と表示させる。
14
+
15
+ ■ 参考にしたページ
16
+ [Serializeした属性の要素をバリデーションする](https://qiita.com/yuku_t/items/11e6f13a6a7e2dbb88a4)
17
+ [Method: ActiveModel::Validations#read_attribute_for_validation](https://www.rubydoc.info/docs/rails/ActiveModel/Validations:read_attribute_for_validation)
18
+
19
+
10
20
  ```ここに言語を入力
11
21
  serialize :material
12
22
  ```

2

書式の改善

2018/07/07 08:25

投稿

1750xkcm
1750xkcm

スコア17

title CHANGED
@@ -1,1 +1,1 @@
1
- コード実行すると「no implicit conversion of Symbol into Integer」が出る
1
+ serializeした要素validatesする方法を教えてください
body CHANGED
@@ -1,15 +1,17 @@
1
1
  rubyの質問です。
2
2
 
3
- 下記のコード実行すると「DATA_KEYS.include?(key) ? material[key] : super」のところで「no implicit conversion of Symbol into Integer」というエラーが出しま出力ができません
3
+ serializeした要素validatesする方法を教えください。
4
-
5
4
  初心者のためどう手を加えれば良いかわからず・・・。
6
- 解決方法をご教示いただけると幸いです。
7
5
 
6
+ ■ 前提・実現したいこと
7
+ serializeした要素が入力されなかった場合、「入力してください」とエラーを表示する。
8
8
 
9
+
9
10
  ```ここに言語を入力
10
-   DATA_KEYS = %i(hoge fuga).freeze
11
+ serialize :material
12
+ ```
11
13
 
12
- def read_attribute_for_validation(key)
14
+ ```ここに言語を入力
13
- DATA_KEYS.include?(key) ? material[key] : super
15
+ <input name="material[][hoge]">
14
- end
16
+ <input name="material[][fuga]">
15
17
  ```

1

書式の改善

2018/07/03 13:32

投稿

1750xkcm
1750xkcm

スコア17

title CHANGED
@@ -1,1 +1,1 @@
1
- no implicit conversion of Symbol into Integer
1
+ コードを実行すると「no implicit conversion of Symbol into Integer」が出る
body CHANGED
@@ -1,34 +1,15 @@
1
- ●エラー箇所
1
+ ruby質問です。
2
- DATA_KEYS.include?(key) ? material[key] : super
3
2
 
3
+ 下記のコードを実行すると「DATA_KEYS.include?(key) ? material[key] : super」のところで「no implicit conversion of Symbol into Integer」というエラーが出てしまい出力ができません。
4
4
 
5
+ 初心者のためどう手を加えれば良いかわからず・・・。
6
+ 解決方法をご教示いただけると幸いです。
7
+
8
+
5
9
  ```ここに言語を入力
6
- serialize要素をvalidatesするために記述
7
-
8
10
    DATA_KEYS = %i(hoge fuga).freeze
9
11
 
10
12
  def read_attribute_for_validation(key)
11
13
  DATA_KEYS.include?(key) ? material[key] : super
12
14
  end
13
- ```
15
+ ```
14
-
15
- ```ここに言語を入力
16
- validates
17
-
18
- serialize :material
19
- validates :hoge, {presence: true, on: :create}
20
- validates :fuga, {presence: true, on: :create}
21
- ```
22
-
23
- ```ここに言語を入力
24
- view
25
-
26
-   <input name="material[][hoge]">
27
-   <input name="material[][fuga]">
28
- ```
29
-
30
- material[key]のデータ型が不都合…
31
- ということは何となくくみ取れるのですが、
32
- どう手を加えれば良いかわからず手詰まりです。
33
-
34
- 解決方法が分かる方いましたらご教授ください。