質問編集履歴

14

質問内容の修正

2019/05/22 02:56

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -8,6 +8,12 @@
8
8
 
9
9
 
10
10
 
11
+ Rails 的には1フォーム:1カラムに対応させてと分けたほうが都合がいいのですが
12
+
13
+ API側の都合で入力内容を1カラムにまとめたいです
14
+
15
+
16
+
11
17
 
12
18
 
13
19
  ### 発生している問題

13

質問内容の修正

2019/05/22 02:56

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -309,3 +309,29 @@
309
309
 
310
310
 
311
311
  Rails 4.2.3 です
312
+
313
+
314
+
315
+ ##追記
316
+
317
+
318
+
319
+ ```
320
+
321
+ def image=(val)
322
+
323
+ @image = MultiLocale.new(val)
324
+
325
+ end
326
+
327
+ ```
328
+
329
+
330
+
331
+ をオーバーライドしなければデフォルトではどういう挙動をするのでしょうか
332
+
333
+ @変数 にかきこめばそれ(をシリアライズしたもの)がカラムになる?
334
+
335
+ と思っていたのですがどうやら違うようです
336
+
337
+ save のときに MySQL に書き込まれる値はどこに保持されているのでしょうか

12

質問内容の修正

2019/05/22 02:15

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -36,9 +36,9 @@
36
36
 
37
37
  <%= f.fields_for :image do |f| %>
38
38
 
39
- <%= f.file_field :default %><%= img_tag f.object.image.default %>
39
+ <%= f.file_field :default %><%= image_tag f.object.image.default %>
40
-
40
+
41
- <%= f.file_field :ja %> <%= img_tag f.object.image.ja %>
41
+ <%= f.file_field :ja %> <%= image_tag f.object.image.ja %>
42
42
 
43
43
  :
44
44
 

11

質問内容の修正

2019/05/21 23:51

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -36,220 +36,208 @@
36
36
 
37
37
  <%= f.fields_for :image do |f| %>
38
38
 
39
- <%= f.file_field :default %>
39
+ <%= f.file_field :default %><%= img_tag f.object.image.default %>
40
-
40
+
41
- <%= f.file_field :ja %>
41
+ <%= f.file_field :ja %> <%= img_tag f.object.image.ja %>
42
42
 
43
43
  :
44
44
 
45
45
  ```
46
46
 
47
- かいたところ
47
+ のようにかいたところ
48
+
49
+ `"image"=>{"default"=>#<ActionDispatch::Http::UploadedFile:...}`
50
+
51
+ という形でとんできます
52
+
53
+
54
+
55
+ これを
56
+
57
+ ```
58
+
59
+ @campaign = Campaign.new(params.require(:campaign).permit(image: I18n.available_locales.map(&:to_s)))
60
+
61
+ ```
62
+
63
+ と最初コントローラー内でハッシュでデータをもとうとしたんですが
64
+
65
+ 途中でエラー等がでてそのままビューに戻ってきたときに
66
+
67
+ @campaign.image がハッシュだと .default がないといわれてしまうのでオブジェクトで持たないと再表示できません
68
+
69
+
70
+
71
+ そこで以下のようなハッシュをオブジェクト化するためだけのクラスを定義して
72
+
73
+ ```
74
+
75
+ class MultiLocale
76
+
77
+ include ActiveModel::Model
78
+
79
+ @@langs = ['default'] + I18n.available_locales.map(&:to_s)
80
+
81
+ attr_accessor *@@langs
82
+
83
+
84
+
85
+ # ここがよく意味がわかってないのですが
86
+
87
+ # こうかいて serialize を定義すると勝手に JSON で保存してくれるらしい?
88
+
89
+ class << self
90
+
91
+ def dump(obj)
92
+
93
+ obj.to_json if obj
94
+
95
+ end
96
+
97
+
98
+
99
+ def load(source)
100
+
101
+ self.new(JSON.parse(source)) if source
102
+
103
+ end
104
+
105
+ end
106
+
107
+ ```
108
+
109
+
110
+
111
+ Campaign モデル内で
112
+
113
+ ```
114
+
115
+ serialize :image, MultiLocale
116
+
117
+
118
+
119
+ def image=(val)
120
+
121
+ super
122
+
123
+ p image
124
+
125
+ end
126
+
127
+ ```
128
+
129
+ とパラメーターをうけとったときに MultiLocale オブジェクトとして保存するセッターをかいたんですが
130
+
131
+ デバッグ表示されたデータは
132
+
133
+ `{"default" => {"tempfile"=>[], "original_filename"=>"150x150.png", "content_type"=>"image/png", "headers"=>"Content-Disposition: form-data; name=\"campaign[image][default]\"; filename=\"150x150.png\"\r\nContent-Type: image/png\r\n"}`
134
+
135
+ とハッシュ型になってしまい ActionDispatch 型ではなくなってしまいます
136
+
137
+
138
+
139
+ ActionDispatch 型でないと CarrierWave に渡せないので
140
+
141
+ MultiLocale クラスに initializer を追加して
142
+
143
+ ```
144
+
145
+ def image=(val)
146
+
147
+ @image = MultiLocale.new(val)
148
+
149
+ p @image
150
+
151
+ end
152
+
153
+ ```
154
+
155
+ というセッターを定義したところようやく @image の中身が
156
+
157
+ `<MultiLocale @default=#<ActionDispatch::Http::UploadedFile:...>} `
158
+
159
+ という形でパラメータを受け取ることができたので
160
+
161
+
162
+
163
+ before_validation 内で
164
+
165
+ ```
166
+
167
+ tmp = {}
168
+
169
+ @image.each{|k,v|
170
+
171
+ image = CampaignImage.new # CarrierWave マウントクラス
172
+
173
+ image.image = v
174
+
175
+ if image.save
176
+
177
+ tmp[k] = image.image.url
178
+
179
+ else
180
+
181
+ errors.add(:image, I18n.t('.invalid_image'))
182
+
183
+ end
184
+
185
+ }
186
+
187
+ @image = MultiLocale.new(tmp)
188
+
189
+ ```
190
+
191
+ とアップロードとURLの取得を行って成功した場合 @image の中身は
48
192
 
49
193
  `
50
194
 
51
- "image"=>{"default"=>#<ActionDispatch::Http::UploadedFile:...}
195
+ <MultiLocale @default="https://S3のURL" >
52
196
 
53
197
  `
54
198
 
55
- いう形でとできま
56
-
57
-
58
-
59
-
60
-
61
- ```
62
-
63
- @campaign = Campaign.new(params.require(:campaign).permit(image: I18n.available_locales.map(&:to_s)))
64
-
65
- ```
66
-
67
- と最初コントローラー内でハッシュでデータをもとうとしたんですが
68
-
69
- 途中でエラー等がでのままビューに戻ってきたときに
70
-
71
- @campaign.image がハッシュだと .default がないといわれてしまうのでオブジェクトで持たないと再表示できません
72
-
73
-
74
-
75
- そこで以下のようなハッシュをオブジェクト化するためだけのクラスを定義して
76
-
77
- ```
78
-
79
- class MultiLocale
80
-
81
- include ActiveModel::Model
82
-
83
- @@langs = ['default'] + I18n.available_locales.map(&:to_s)
84
-
85
- attr_accessor *@@langs
86
-
87
-
88
-
89
- # ここがよく意味がわかってないのですが
90
-
91
- # こうかいて serialize を定義すると勝手に JSON で保存してくれるらしい?
92
-
93
- class << self
94
-
95
- def dump(obj)
96
-
97
- obj.to_json if obj
98
-
99
- end
100
-
101
-
102
-
103
- def load(source)
104
-
105
- self.new(JSON.parse(source)) if source
106
-
107
- end
108
-
109
- end
110
-
111
- ```
112
-
113
-
114
-
115
- Campaign モデル内で
116
-
117
- ```
118
-
119
- serialize :image, MultiLocale
120
-
121
-
122
-
123
- def image=(val)
124
-
125
- super
126
-
127
- p image
199
+ なり、バリデーションエラービューに戻ったき、アップロードされた画像が表示できるようになりした
200
+
201
+
202
+
203
+ ただ途中でバリデーションエラーが出た場合等に ActionDispatch と変換さ URL 文字列が混在することになり、
204
+
205
+ (たとえば 2 つめの画像保存に失敗した場合)
206
+
207
+ ```
208
+
209
+ <MultiLocale @default="https://S3のURL" @ja=#<ActionDispatch::Http::UploadedFile:...> >
210
+
211
+ ```
212
+
213
+ という状態になっ ActionDispatch のままのものは画像が表示されません
214
+
215
+
216
+
217
+ ①この状態でビューに戻った場合にもう1度 ActionDispatch から form にデータをセットする方法はないでしょうか?
218
+
219
+
220
+
221
+ ②またこの状態で保存しようとすると
222
+
223
+ `
224
+
225
+ validates :image, presence: true
226
+
227
+ `
228
+
229
+ のバリデーションにひっかかって画像がないというバリデーションエラーになってしまいます
230
+
231
+ ```
232
+
233
+ def image
234
+
235
+ @image
128
236
 
129
237
  end
130
238
 
131
239
  ```
132
240
 
133
- とパラメーターをうけとったときに MultiLocale オブジェクトとして保存するセッターをかいたんですが
134
-
135
- デバッグ表示されたデータは
136
-
137
- `
138
-
139
- {"default" => {"tempfile"=>[], "original_filename"=>"150x150.png", "content_type"=>"image/png", "headers"=>"Content-Disposition: form-data; name=\"campaign[image][default]\"; filename=\"150x150.png\"\r\nContent-Type: image/png\r\n"}
140
-
141
- `
142
-
143
- とハッシュ型になってしまい ActionDispatch 型ではなくなってしまいます
144
-
145
-
146
-
147
- ActionDispatch 型でないと CarrierWave に渡せないので
148
-
149
- MultiLocale クラスに initializer を追加して
150
-
151
- ```
152
-
153
- def image=(val)
154
-
155
- @image = MultiLocale.new(val)
156
-
157
- p @image
158
-
159
- end
160
-
161
- ```
162
-
163
- というセッターを定義したところようやく @image の中身が
164
-
165
- `
166
-
167
- <MultiLocale @default=#<ActionDispatch::Http::UploadedFile:...>}
168
-
169
- `
170
-
171
- という形でパラメータを受け取ることができたので
172
-
173
-
174
-
175
- before_validation 内で
176
-
177
- ```
178
-
179
- tmp = {}
180
-
181
- @image.each{|k,v|
182
-
183
- image = CampaignImage.new # CarrierWave マウントクラス
184
-
185
- image.image = v
186
-
187
- if image.save
188
-
189
- tmp[k] = image.image.url
190
-
191
- else
192
-
193
- errors.add(:image, I18n.t('.invalid_image'))
194
-
195
- end
196
-
197
- }
198
-
199
- @image = MultiLocale.new(tmp)
200
-
201
- ```
202
-
203
- とアップロードとURLの取得を行って成功した場合 @image の中身は
204
-
205
- `
206
-
207
- <MultiLocale @default="https://S3のURL" >
208
-
209
- `
210
-
211
- となり、バリデーションエラーでビューに戻ったとき、アップロードされた画像が表示できるようになりました
212
-
213
-
214
-
215
- ただ途中でバリデーションエラーが出た場合等に ActionDispatch と変換された URL 文字列が混在することになり、
216
-
217
- (たとえば 2 つめの画像保存に失敗した場合)
218
-
219
- ```
220
-
221
- <MultiLocale @default="https://S3のURL" @ja=#<ActionDispatch::Http::UploadedFile:...> >
222
-
223
- ```
224
-
225
- という状態になって ActionDispatch のままのものは画像が表示されません
226
-
227
-
228
-
229
- ①この状態でビューに戻った場合にもう1度 ActionDispatch から form にデータをセットする方法はないでしょうか?
230
-
231
-
232
-
233
- ②またこの状態で保存しようとすると
234
-
235
- `
236
-
237
- validates :image, presence: true
238
-
239
- `
240
-
241
- のバリデーションにひっかかって画像がないというバリデーションエラーになってしまいます
242
-
243
- ```
244
-
245
- def image
246
-
247
- @image
248
-
249
- end
250
-
251
- ```
252
-
253
241
  とゲッターを追加するとバリデーションは通るようになりますが今度は MySQL エラーで image の default value がないといわれます
254
242
 
255
243
  @image に保存したい内容を MultiLocale 型でもっているのですが

10

質問内容の修正

2019/05/21 23:51

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -14,9 +14,11 @@
14
14
 
15
15
 
16
16
 
17
+ ActionDispatch 型でとんできたパラメーターを
18
+
17
- アップロードしてURLを取得する部分はようやく動くようになったのですが
19
+ S3 にアップロードして URL を取得する部分はようやく動くようになったのですが
18
-
20
+
19
- フォームからきたハッシュをコントローラー上でどう扱って最終的にどうJSONにしていいのかがわかりません
21
+ フォームからきたハッシュをコントローラー上でどう扱って最終的にどう JSON にしていいのかがわかりません
20
22
 
21
23
 
22
24
 

9

質問内容の修正

2019/05/21 23:47

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -8,6 +8,8 @@
8
8
 
9
9
 
10
10
 
11
+
12
+
11
13
  ### 発生している問題
12
14
 
13
15
 
@@ -16,9 +18,7 @@
16
18
 
17
19
  フォームからきたハッシュをコントローラー上でどう扱って最終的にどうJSONにしていいのかがわかりません
18
20
 
19
- いろいろ試行錯誤してるのですが、バリデーションや保存、更新、再表示すべてがうまく動かず
21
+
20
-
21
- 1つ動くと別の場所が動かなくなるの繰り返しで困っています
22
22
 
23
23
 
24
24
 
@@ -286,6 +286,32 @@
286
286
 
287
287
 
288
288
 
289
+ まとめると
290
+
291
+
292
+
293
+ ① ActionDispatch 型でもっている画像データをアップロードフォームに再セットしたい
294
+
295
+ (ローカルのファイルを勝手にセットすることはできないけど
296
+
297
+ Blob オブジェクトを作ることができればファイルフィールドにセットすることは可能みたいなのですが
298
+
299
+ どういう JS を生成すればいいかがわかりません)
300
+
301
+
302
+
303
+ ② カラムと同名の @変数でもっている値を save 時に MySQL カラムに保存するにはどうすればいいでしょうか
304
+
305
+
306
+
307
+ ③ そもそも途中で MultiLocale 型という独自モデルを定義して保持するというのが適切なやり方なのでしょうか
308
+
309
+
310
+
311
+ 以上 3 点よろしくおねがいします
312
+
313
+
314
+
289
315
 
290
316
 
291
317
  ### 補足情報(FW/ツールのバージョンなど)

8

質問内容の修正

2019/05/21 23:46

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -248,7 +248,7 @@
248
248
 
249
249
  ```
250
250
 
251
- とゲッターを追加するとバリデーションは通るようになりますが今度は MySQL エラーで image の default value がないといわれます
251
+ とゲッターを追加するとバリデーションは通るようになりますが今度は MySQL エラーで image の default value がないといわれます
252
252
 
253
253
  @image に保存したい内容を MultiLocale 型でもっているのですが
254
254
 

7

質問内容の修正

2019/05/21 23:35

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -156,7 +156,89 @@
156
156
 
157
157
  end
158
158
 
159
-
159
+ ```
160
+
161
+ というセッターを定義したところようやく @image の中身が
162
+
163
+ `
164
+
165
+ <MultiLocale @default=#<ActionDispatch::Http::UploadedFile:...>}
166
+
167
+ `
168
+
169
+ という形でパラメータを受け取ることができたので
170
+
171
+
172
+
173
+ before_validation 内で
174
+
175
+ ```
176
+
177
+ tmp = {}
178
+
179
+ @image.each{|k,v|
180
+
181
+ image = CampaignImage.new # CarrierWave マウントクラス
182
+
183
+ image.image = v
184
+
185
+ if image.save
186
+
187
+ tmp[k] = image.image.url
188
+
189
+ else
190
+
191
+ errors.add(:image, I18n.t('.invalid_image'))
192
+
193
+ end
194
+
195
+ }
196
+
197
+ @image = MultiLocale.new(tmp)
198
+
199
+ ```
200
+
201
+ とアップロードとURLの取得を行って成功した場合 @image の中身は
202
+
203
+ `
204
+
205
+ <MultiLocale @default="https://S3のURL" >
206
+
207
+ `
208
+
209
+ となり、バリデーションエラーでビューに戻ったとき、アップロードされた画像が表示できるようになりました
210
+
211
+
212
+
213
+ ただ途中でバリデーションエラーが出た場合等に ActionDispatch と変換された URL 文字列が混在することになり、
214
+
215
+ (たとえば 2 つめの画像保存に失敗した場合)
216
+
217
+ ```
218
+
219
+ <MultiLocale @default="https://S3のURL" @ja=#<ActionDispatch::Http::UploadedFile:...> >
220
+
221
+ ```
222
+
223
+ という状態になって ActionDispatch のままのものは画像が表示されません
224
+
225
+
226
+
227
+ ①この状態でビューに戻った場合にもう1度 ActionDispatch から form にデータをセットする方法はないでしょうか?
228
+
229
+
230
+
231
+ ②またこの状態で保存しようとすると
232
+
233
+ `
234
+
235
+ validates :image, presence: true
236
+
237
+ `
238
+
239
+ のバリデーションにひっかかって画像がないというバリデーションエラーになってしまいます
240
+
241
+ ```
160
242
 
161
243
  def image
162
244
 
@@ -166,88 +248,12 @@
166
248
 
167
249
  ```
168
250
 
169
- というゲッターセッターを定義したところようやく @image の中身が
170
-
171
- `
172
-
173
- <MultiLocale @default=#<ActionDispatch::Http::UploadedFile:...>}
174
-
175
- `
176
-
177
- という形でパラメータを受け取ることができたので
178
-
179
-
180
-
181
- before_validation 内で
182
-
183
- ```
184
-
185
- tmp = {}
186
-
187
- @image.each{|k,v|
188
-
189
- image = CampaignImage.new # CarrierWave マウントクラス
190
-
191
- image.image = v
192
-
193
- if image.save
194
-
195
- tmp[k] = image.image.url
196
-
197
- else
198
-
199
- errors.add(:image, I18n.t('.invalid_image'))
200
-
201
- end
202
-
203
- }
204
-
205
- @image = MultiLocale.new(tmp)
206
-
207
- ```
208
-
209
- とアップロードとURLの取得を行って成功した場合 @image の中身は
210
-
211
- `
212
-
213
- <MultiLocale @default="https://S3のURL" >
214
-
215
- `
216
-
217
- となり、バリデーションエラーでビューに戻ったとき、アップロードされた画像が表示できるようになりました
218
-
219
-
220
-
221
- ただ途中でバリデーションエラーが出た場合等に ActionDispatch変換さた URL 文字列が混在ることになり、
251
+ とゲッターを追加するとバリデーションは通るようになりますが今度は MySQL エラーで image の default value がないいわ
222
-
223
- (たとえば 2 つめの画像保存に失敗した場合)
224
-
225
- ```
226
-
227
- <MultiLocale @default="https://S3のURL" @ja=#<ActionDispatch::Http::UploadedFile:...> >
228
-
229
- ```
230
-
231
- という状態になって ActionDispatch のままのものは画像が表示されません
232
-
233
-
234
-
235
- ①この状態でビューに戻った場合にもう1度 ActionDispatch から form にデータをセットする方法はないでしょうか?
236
-
237
-
238
-
239
- ②またこの状態で保存しようとすると
240
-
241
- `
242
-
243
- validates :image, presence: true
244
-
245
- `
246
-
247
- のバリデーションにひっかかって画像がないというバリデーションエラーになってしまいます
248
252
 
249
253
  @image に保存したい内容を MultiLocale 型でもっているのですが
250
254
 
255
+ どうも MySQL に保存するときにこの値をみてくれていないようなのです
256
+
251
257
  MySQL に JSON で保存するにはどうすればいいんでしょうか?
252
258
 
253
259
 

6

質問内容の修正

2019/05/21 23:34

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -128,7 +128,9 @@
128
128
 
129
129
  ```
130
130
 
131
- とパラメーターをうけとったときに MultiLocale オブジェクトとして保存するセッターをかいたんですが表示されたデータは
131
+ とパラメーターをうけとったときに MultiLocale オブジェクトとして保存するセッターをかいたんですが
132
+
133
+ デバッグ表示されたデータは
132
134
 
133
135
  `
134
136
 

5

質問内容の修正

2019/05/21 23:29

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -128,7 +128,7 @@
128
128
 
129
129
  ```
130
130
 
131
- とかいたんですが表示されたデータは
131
+ パラメーターをうけとったときに MultiLocale オブジェクトとして保存するセッターをかいたんですが表示されたデータは
132
132
 
133
133
  `
134
134
 
@@ -216,7 +216,7 @@
216
216
 
217
217
 
218
218
 
219
- ただ途中でバリデーションエラーが出た場合等に ActionDispatch と変換されたURL文字列が混在することになり、
219
+ ただ途中でバリデーションエラーが出た場合等に ActionDispatch と変換された URL 文字列が混在することになり、
220
220
 
221
221
  (たとえば 2 つめの画像保存に失敗した場合)
222
222
 
@@ -244,9 +244,15 @@
244
244
 
245
245
  のバリデーションにひっかかって画像がないというバリデーションエラーになってしまいます
246
246
 
247
- @image に保存したい内容をMultiLocale型でもっているのですが
247
+ @image に保存したい内容を MultiLocale 型でもっているのですが
248
-
248
+
249
- MySQL に保存するにはどうすればいいんでしょうか?
249
+ MySQL に JSON で保存するにはどうすればいいんでしょうか?
250
+
251
+
252
+
253
+ 画像以外のカラムはセッターをかいていなくて、MutiLocale 型から自動的に JSON で保存してくれますが
254
+
255
+ 画像の場合だけセッターをかいてしまってるせいで保存されないみたいなのです
250
256
 
251
257
  ```
252
258
 
@@ -256,7 +262,7 @@
256
262
 
257
263
  をよんでもセッターをオーバーライドしてしまっているので @image が更新されてしまうだけで
258
264
 
259
- MySQL にセットされる値に @image.to_json をセットするにはどうすればいいんでしょうか
265
+ MySQL にセットされる値をセットするにはどうすればいいんでしょうか
260
266
 
261
267
 
262
268
 

4

質問内容の修正

2019/05/21 23:27

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -188,9 +188,15 @@
188
188
 
189
189
  image.image = v
190
190
 
191
- image.save
191
+ if image.save
192
-
192
+
193
- tmp[k] = image.image.url
193
+ tmp[k] = image.image.url
194
+
195
+ else
196
+
197
+ errors.add(:image, I18n.t('.invalid_image'))
198
+
199
+ end
194
200
 
195
201
  }
196
202
 
@@ -206,11 +212,21 @@
206
212
 
207
213
  `
208
214
 
209
- となり、バリデーションエラーでビューに戻ったとき、アップロードされた画像が表示できるようになりますが
215
+ となり、バリデーションエラーでビューに戻ったとき、アップロードされた画像が表示できるようになりました
210
-
216
+
217
+
218
+
211
- 途中でバリデーションエラーが出た場合等に ActionDispatch と変換されたURLが混在することになり、
219
+ ただ途中でバリデーションエラーが出た場合等に ActionDispatch と変換されたURL文字列が混在することになり、
220
+
212
-
221
+ (たとえば 2 つめの画像保存に失敗した場合)
222
+
223
+ ```
224
+
225
+ <MultiLocale @default="https://S3のURL" @ja=#<ActionDispatch::Http::UploadedFile:...> >
226
+
227
+ ```
228
+
213
- ActionDispatch のままのものは画像が表示されません
229
+ という状態になって ActionDispatch のままのものは画像が表示されません
214
230
 
215
231
 
216
232
 

3

質問内容の修正

2019/05/21 17:07

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -194,7 +194,7 @@
194
194
 
195
195
  }
196
196
 
197
- @image = tmp
197
+ @image = MultiLocale.new(tmp)
198
198
 
199
199
  ```
200
200
 

2

質問内容の修正

2019/05/21 17:03

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -84,6 +84,10 @@
84
84
 
85
85
 
86
86
 
87
+ # ここがよく意味がわかってないのですが
88
+
89
+ # こうかいて serialize を定義すると勝手に JSON で保存してくれるらしい?
90
+
87
91
  class << self
88
92
 
89
93
  def dump(obj)

1

質問内容の修正

2019/05/21 17:02

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -150,9 +150,17 @@
150
150
 
151
151
  end
152
152
 
153
+
154
+
155
+ def image
156
+
157
+ @image
158
+
159
+ end
160
+
153
- ```
161
+ ```
154
-
162
+
155
- というセッターを定義したところようやく
163
+ というゲッターセッターを定義したところようやく @image の中身が
156
164
 
157
165
  `
158
166
 
@@ -160,7 +168,7 @@
160
168
 
161
169
  `
162
170
 
163
- パラメータを受け取ることができたので
171
+ いう形でパラメータを受け取ることができたので
164
172
 
165
173
 
166
174
 
@@ -218,13 +226,13 @@
218
226
 
219
227
  @image に保存したい内容をMultiLocale型でもっているのですが
220
228
 
221
- MySQL に保存するにはどうすればいいんでしょうか
229
+ MySQL に保存するにはどうすればいいんでしょうか
230
+
222
-
231
+ ```
223
-
224
232
 
225
233
  self.image = @image
226
234
 
227
-
235
+ ```
228
236
 
229
237
  をよんでもセッターをオーバーライドしてしまっているので @image が更新されてしまうだけで
230
238