ぼくらの研究

ぼくらのための研究をしていきます。

[Rails]文字列をそのまま配列として扱う方法

   

やりたいこと


@object.array

=> "[[10,11,12],[20,21,22]]"

というString型オブジェクトがあったとする。これをそのまま配列に変換したい。

 

方法


eval(@object.array)

=> [[10, 11, 12], [20, 21 ,22]]

 

所感

2018/05/26現在、RailsのActive Recordには配列を扱うカラムがない。
無理やり作ることはできるのだけど弊害もいろいろあるので手を出しにくいところ。
でも実際DBに配列を格納したいと思う時は多々あって、そんな時には今回の方法が活用できる。
stringもしくはtextカラムに文字列を格納し、実際に利用するときはその文字列をevalで配列に展開して利用するというもの。

ご参考になれば幸い。