塩焼きブログ

塩焼きに関しての研究内容を公開しています

Railsのbefore_saveでSave時に保存するデータに変更を加える

RailsでSave時に保存するデータに変更を加えるにはbefore_saveを使う。例ではバリデーションを通過してきたデータを保存前にハッシュに変換している。

class Example < ActiveRecord::Base

  before_save :before_hash

  def before_hash
    self.hash = Digest::MD5.new.update(self.str).to_s
  end

end

保存時に同時に実行したい処理があればbefore_saveを利用する。これは保存するデータに変更を加える目的以外でも利用できる。