model中以下のコマンドにおいて"can't quote Array"のエラーが出たので自分用メモ
self.update_column(:before_group_ids, before_group_ids)
原因調査
調べたページ
- Rails5 migration: can't quote Array
- Rails error: “can't quote array”
- update_attributesとupdate_columnsの違い【Ruby on Rails】
- ActiveRecord の attribute 更新方法まとめ
試した対応(効果なし)
- migrationにおいて
default: [].to_yaml
を入れる => 効果なし - migrationにおいて
default: [], array:true
を入れる => 効果なし -
self.before_group_ids = [0,1]
+self.save
=> 成功 -
self.update_attribute(:before_group_ids, before_group_ids)
=> 成功
解決
ひとまずupdate_attributeを用いることでエラー回避
update_columnはUPDATE SQLを作成してとあるように、
active_recordを挟まないためエラーが出ていたのかな...?