Railsのモデルに共通の処理を与えたい
class User << ActibeRecord::Base
json_column :data
end
class Post << ActibeRecord::Base
json_column :info
end
このように、各モデルの対象のカラムを指定することで、保存前と値の参照の時に加工する処理を追加できるようにしたいのですがやり方がわかりません。
class ActibeRecord::Base
before_save :before
after_find :after
private
def before
# json_columnで指定された値を文字列にキャスト
end
def after
# json_columnで指定された値をJSON.parseする
end
end
こんな感じのものをraols_root/config/initializers/json_column.rb
に設置して動かすイメージです。
これであっていればjson_column
で指定した値の取得方法さえわかれば実装できるような気がしてます。
それと、このjson_column
の名前はなんというのでしょうか?
調べ方がわからずに困っています。
サンプルソースや参考サイトなどを教えていただけるとうれしいです。
よろしくお願いします。
※ 今回はわかりやすいようにjsonを例にしましたが、実際に行いたい処理は違います。