seed_fuを利用して、データをDBに入れたいのですが、配列データを挿入したくなりました。
Hogeというテーブルのchildrenというカラムに配列をいれたいという感じです。
DBのカラムのデータ型をtextにする
マイグレーションファイルをいじります。
db/migrate/*_create_hoge.rb
class CreateHoge < ActiveRecord::Migration
def change
create_table :hoge do |t|
t.text :children
t.timestamps
end
end
end
モデルで serialize を設定
配列を挿入したいカラム(属性)にserializeメソッドを適応させる用に設定する。
app/models/hoge.rb
class Hoge < ActiveRecord::Base
serialize :children
end
参考
余談
seed_fuで入れる
私はseedデータを入れるのが目的だったので、入れてみました。
db/fixtures/hoges.rb
Hoge.seed do |s|
s.id = 1
s.children = [1,2] # 1,2 と書いても配列が入りました(このへんはまだ曖昧です...)
rake db:seed_fu