質問編集履歴
1
コメントいただいたものを直しました
title
CHANGED
File without changes
|
body
CHANGED
@@ -11,7 +11,7 @@
|
|
11
11
|
|
12
12
|
ソースコード
|
13
13
|
> migrationfile
|
14
|
-
```
|
14
|
+
```Ruby
|
15
15
|
class AddDaysToSchedule < ActiveRecord::Migration[5.2]
|
16
16
|
def change
|
17
17
|
add_column :schedules, :days, :text, array: true
|
@@ -19,7 +19,7 @@
|
|
19
19
|
end
|
20
20
|
```
|
21
21
|
> schedule.rb
|
22
|
-
```
|
22
|
+
```Ruby
|
23
23
|
class Schedule < ApplicationRecord
|
24
24
|
serialize :days, Array
|
25
25
|
・・・
|
@@ -29,4 +29,49 @@
|
|
29
29
|
|
30
30
|
Postgresqlでは、どうやらserializeを使ってはいけないということは分かって
|
31
31
|
schdule.rbを下記のserializeを外してみると実際にビルド自体は成功したのですが
|
32
|
-
出力する際に、arrayと認識してくれずstringとなってしまうため出力でエラーとなってしまいます。
|
32
|
+
出力する際に、arrayと認識してくれずstringとなってしまうため出力でエラーとなってしまいます。
|
33
|
+
|
34
|
+
### 追記
|
35
|
+
|
36
|
+
String型に保存して、その後配列に出力することを試みました。
|
37
|
+
> migrationfile
|
38
|
+
```Ruby
|
39
|
+
class AddDaysToSchedule < ActiveRecord::Migration[5.2]
|
40
|
+
def change
|
41
|
+
add_column :schedules, :days, :string
|
42
|
+
end
|
43
|
+
end
|
44
|
+
```
|
45
|
+
|
46
|
+
> daysを出力するコード
|
47
|
+
```
|
48
|
+
[28] pry(#<EventType>)> self.days
|
49
|
+
=> "[0, 1, 2, 3, 4, 5, 6]"
|
50
|
+
[29] pry(#<EventType>)> self.days.split('')
|
51
|
+
=> ["[",
|
52
|
+
"0",
|
53
|
+
",",
|
54
|
+
" ",
|
55
|
+
"1",
|
56
|
+
",",
|
57
|
+
" ",
|
58
|
+
"2",
|
59
|
+
",",
|
60
|
+
" ",
|
61
|
+
"3",
|
62
|
+
",",
|
63
|
+
" ",
|
64
|
+
"4",
|
65
|
+
",",
|
66
|
+
" ",
|
67
|
+
"5",
|
68
|
+
",",
|
69
|
+
" ",
|
70
|
+
"6",
|
71
|
+
[30] pry(#<EventType>)> self.days.split
|
72
|
+
=> ["[0,", "1,", "2,", "3,", "4,", "5,", "6]"]
|
73
|
+
```
|
74
|
+
このやり方は取得したいデータではないのですが、
|
75
|
+
文字列で保存して、配列をシリアライズ化する最適な方法はどんなやり方がございますでしょうか。
|
76
|
+
|
77
|
+
すみませんが、どうぞよろしくお願いいたします。
|