質問編集履歴

5

追記修正

2019/05/04 02:36

投稿

zendendo
zendendo

スコア43

test CHANGED
File without changes
test CHANGED
@@ -160,18 +160,20 @@
160
160
 
161
161
 
162
162
 
163
- def initialize(attributes={})
163
+ def initialize(attributes={})#attributesにはパラメータが入る。
164
-
165
- binding.pry#デバック用
164
+
165
+
166
166
 
167
167
  if attributes.present?
168
168
 
169
- attrs = attributes.to_unsafe_h.dup# dupしほうがいいかはわかりませんが
169
+ attrs = attributes.to_unsafe_h.dup#受け取っストロングパラメータをハッシュ化
170
170
 
171
171
 
172
172
 
173
173
  if attrs["temp_cont_item_stock"]["expiration_date(1i)"].present?
174
174
 
175
+ #日時作成
176
+
175
177
  attrs[:expiration_date] = DateTime.new(
176
178
 
177
179
  attrs["temp_cont_item_stock"]["expiration_date(1i)"].to_i,

4

追記

2019/05/04 02:36

投稿

zendendo
zendendo

スコア43

test CHANGED
File without changes
test CHANGED
@@ -139,3 +139,63 @@
139
139
  どうすれば、うまく変換できるでしょうか。
140
140
 
141
141
  回答をよろしくお願いします。
142
+
143
+
144
+
145
+
146
+
147
+ ###追記(最終的に成功したコード)
148
+
149
+ 回答者からのアドバイスをもとに最終的に成功したコードをここに記します。
150
+
151
+ (コメント欄だと見ずらいのでここに記します)。
152
+
153
+ ```ここに言語を入力
154
+
155
+ class EditDractContractForm
156
+
157
+ include ActiveModel::Model
158
+
159
+ attr_accessor :name, :temp_cont_item_stock, :expiration_date
160
+
161
+
162
+
163
+ def initialize(attributes={})
164
+
165
+ binding.pry#デバック用
166
+
167
+ if attributes.present?
168
+
169
+ attrs = attributes.to_unsafe_h.dup# dupしたほうがいいかはわかりませんが
170
+
171
+
172
+
173
+ if attrs["temp_cont_item_stock"]["expiration_date(1i)"].present?
174
+
175
+ attrs[:expiration_date] = DateTime.new(
176
+
177
+ attrs["temp_cont_item_stock"]["expiration_date(1i)"].to_i,
178
+
179
+ attrs["temp_cont_item_stock"]["expiration_date(2i)"].to_i,
180
+
181
+ attrs["temp_cont_item_stock"]["expiration_date(3i)"].to_i,
182
+
183
+ attrs["temp_cont_item_stock"]["expiration_date(4i)"].to_i,
184
+
185
+ attrs["temp_cont_item_stock"]["expiration_date(5i)"].to_i
186
+
187
+ )
188
+
189
+ end
190
+
191
+ super(attrs)
192
+
193
+ end
194
+
195
+ end
196
+
197
+ ```
198
+
199
+
200
+
201
+ これでフォームオブジェクト内なら、expiration_dateとすれば日時情報を取得できます。

3

タイトル修正

2019/05/04 02:31

投稿

zendendo
zendendo

スコア43

test CHANGED
@@ -1 +1 @@
1
- パラメータでネストした日時情報をフォームオブジェクトに渡したい
1
+ [rails5]パラメータでネストした日時情報をフォームオブジェクトに渡したい
test CHANGED
File without changes

2

説明追加

2019/04/18 14:17

投稿

zendendo
zendendo

スコア43

test CHANGED
File without changes
test CHANGED
@@ -84,7 +84,7 @@
84
84
 
85
85
  フォームオブジェクトに日時情報(expiration_date)を渡そうとすると5つに分割された状態になってしまいます。
86
86
 
87
- 今回場合、ネストした部分に日時情報が入ってい
87
+ ままでは日時情報をフォームオブジェクト側でうまく受け取ることできせん
88
88
 
89
89
  そこで5つに分かれてしまった日時情報を一つにまとまった日時情報に変換し直そうとしたのですがうまくいきませんでした。
90
90
 

1

誤字修正

2019/04/18 14:07

投稿

zendendo
zendendo

スコア43

test CHANGED
File without changes
test CHANGED
@@ -8,9 +8,9 @@
8
8
 
9
9
 
10
10
 
11
- ただ、パラメータでネストした(fields_forで子モデルに入力する)日時の情報を
11
+ ただ、パラメータでネストした(fields_forで子モデルに入力する)**日時の情報を
12
12
 
13
- FormObjectに渡して日時変換しようとしたのですがうまくいかず困っています。
13
+ FormObjectに渡して正しい日時情報に変換したい**のですが、やり方がわず困っています。
14
14
 
15
15
 
16
16