업데이트 :
정확한 구현은 데이터베이스에 따라 달라집니다 만, PostgreSQL는 지금이 json
와 jsonb
기본적으로 당신의 해시 / 객체 데이터를 저장하고 당신이에 허용 할 수 있습니다 열 액티브와 JSON에 대한 쿼리를 !
마이그레이션을 변경하면 완료됩니다.
class Migration0001
def change
add_column :users, :location_data, :json, default: {}
end
end
실물:
자세한 내용 : rails docs && apidock
반드시 당신의 열이 있는지 확인 :text
하지:string
이주:
$ rails g migration add_location_data_to_users location_data:text
만들어야합니다 :
class Migration0001
def change
add_column :users, :location_data, :text
end
end
수업은 다음과 같습니다.
class User < ActiveRecord::Base
serialize :location_data
end
가능한 조치:
b = User.new
b.location_data = [1,2,{foot: 3, bart: "noodles"}]
b.save
더 굉장해?!
postgresql hstore를 활용하십시오
class AddHstore < ActiveRecord::Migration
def up
enable_extension :hstore
end
def down
disable_extension :hstore
end
end
class Migration0001
def change
add_column :users, :location_data, :hstore
end
end
hstore를 사용하면 직렬화 된 필드에서 속성을 설정할 수 있습니다
class User < ActiveRecord::Base
# setup hstore
store_accessor :location_data, :city, :state
end