There's an echo in my head

日々のメモ。

serialize-rails gemでJSONをDBに格納する

ActiveRecordserializeYAMLにしか対応していないけど、serialize-railsを使うとJSONやXMLRubyのMarshalも保存できるようになる。

# Gemfile
source 'http://rubygems.org'
gem 'rails', '3.2.9' # 3.0.0 以上が必要
gem 'serialize-rails'

# app/models/user.rb
class User < ActiveRecord::Base
  serialize :some_json_value, Hash, format: :json
end

シリアライズだけでなくgzip圧縮もできるらしい。すごいな。

(ちょうど業務で探してたので、@udzura さんありがとう

追記

serializeは素でもYAML以外に使える

このブログに出てくるコードスニペッツは、引用あるいは断りがない限りMITライセンスです。