QA@IT

Activerecordで配列を保存するには?

3194 PV

現在、railsとsqlite3を使ってWebサイトを構築しているのですが、配列を保存するのは何がベストかわからなくなって質問させていただきました。

具体的に例をあげていうと、
Recordingというテーブルがあったとします。
ここにdestroy_id_listというInt型を保存した配列を追加したいと考えました。

この様なことをする場合、私が知っている方法は2つあります。
1つ目は、Destroy_id_listというテーブルを新規に作成して、そこの参照を持つ方法です。
2つ目は、保存したいArrayをシリアライズして保存してしまう方法です。

ただしもう少しいい方法はないのか疑問に思いました。
なぜなら、1つ目の方法はint型の配列をもつカラムを作るたびにテーブルを新規作成する必要性があり、将来的にテーブルが乱立しそうな気がしました。
2つ目の方法は、テーブルは作らなくていいのですが、なにか裏技的な(強引な?)イメージがあり、少し抵抗感があります。

そこで改めて質問なのですが、なにかベストな方法はないでしょうか?また1つ目の方法がベストだ、という意見でも助かります。

回答

個人的にはserializeメソッドを使って2の方法で実装することが多いです。それで特に困ったことはないですね。

編集 履歴 (0)
  • そうなんですね、私もシリアライズでやってみようと思います。ありがとうございました。 -
ウォッチ

この質問への回答やコメントをメールでお知らせします。