Alex_P
(Alex P.)
1
古いフォーラムから残りのトピックをインポートできるように、カテゴリの import_id を手動で設定したいと考えています。
rails c で試してみましたが、うまくいかないようです。
[11] pry(main)> Category.find(3).custom_fields
=> {}
[12] pry(main)> Category.find(3).custom_fields['import_id'] = '50'
=> "50"
[13] pry(main)> Category.find(3).custom_fields
=> {}
pfaffman
(Jay Pfaffman)
2
以下のような処理を行う必要があると思います。
CategoryCustomField.create(category_id: 3,...)
参考例は、インポーターのコードをご覧ください。
Alex_P
(Alex P.)
3
はい、ついにそれを見つけました。
new_category.custom_fields["import_id"] = import_id if import_id
new_category.save!
つまり、save を呼び出すだけでいいのですね 
SiteSetting の場合は不要だったため、混乱していました。
[14] pry(main)> c = Category.find(3)
=> #<Category:0x000056548fd948a8
id: 3,
...
[15] pry(main)> c.custom_fields['import_id'] = '50'
=> "50"
[16] pry(main)> c.custom_fields
=> {"import_id"=>"50"}
[17] pry(main)> c.save!
=> true
[18] pry(main)> Category.find(3).custom_fields
=> {"import_id"=>"50"}