回答編集履歴

2

文字列を整数に直すのを忘れていたので修正

2020/04/24 09:50

投稿

okuramasafumi
okuramasafumi

スコア117

test CHANGED
@@ -46,7 +46,7 @@
46
46
 
47
47
  d = params[:deadline_date] # ショートカット
48
48
 
49
- deadline_date = Date.new(d['date(1i)'], d['date(2i)'], d['date(3i)'])
49
+ deadline_date = Date.new(d['date(1i)'].to_i, d['date(2i)'].to_i, d['date(3i)'].to_i)
50
50
 
51
51
  @event = Event.new( deadline_date: deadline_date )
52
52
 

1

日付の保存について追記

2020/04/24 09:49

投稿

okuramasafumi
okuramasafumi

スコア117

test CHANGED
@@ -19,3 +19,41 @@
19
19
 
20
20
 
21
21
  のようなコードを`create`アクションに追加してみてください(その際、成功と失敗には適切なレンダー処理を記述しましょう)。
22
+
23
+
24
+
25
+ ---
26
+
27
+
28
+
29
+ 日付の保存自体に失敗しているということでしたら、
30
+
31
+
32
+
33
+ ```
34
+
35
+ @event = Event.new( deadline_date: params[:deadline_date] )
36
+
37
+ ```
38
+
39
+
40
+
41
+ このコードを、
42
+
43
+
44
+
45
+ ```
46
+
47
+ d = params[:deadline_date] # ショートカット
48
+
49
+ deadline_date = Date.new(d['date(1i)'], d['date(2i)'], d['date(3i)'])
50
+
51
+ @event = Event.new( deadline_date: deadline_date )
52
+
53
+ ```
54
+
55
+
56
+
57
+ のようにすると保存できるようになると思います。
58
+
59
+ ここで行っているのは`Date`オブジェクトの明示的な生成です。要はバラバラに渡ってきている日付のデータを結合して日付のオブジェクトにしているわけですね。