Rails 3 Vestal Versions gem を使用しています: https://github.com/lailsonbm/vestal_versions
モデルの更新時に新しいバージョンを作成するかどうか/いつ作成するかを決定するロジックを作成したいと思います。仕様に従って、私は次のことを行いました:
class Note < ActiveRecord::Base
versioned :if => :really_create_a_version?
def really_create_a_version
Rails.logger.debug 'really_create_a_version really_create_a_version really_create_a_version really_create_a_version - START'
record.inspect
@note = Note.find(32)
Rails.logger.debug 'really_create_a_version really_create_a_version really_create_a_version really_create_a_version - END'
end
end
しかし、それは機能しません。次のエラーが表示されます。
NoMethodError (undefined method `really_create_a_version?' for #<Note:0x155c39a28>):
app/controllers/notes_controller.rb:124:in `update'
提案やアイデアはありますか?thxs
アップデート
条件付きバージョンの作成。バージョン管理されたメソッドは、:if および :unless オプションを受け入れるようになりました。それぞれが、更新後に新しいバージョンを作成するかどうかを決定するために評価されるインスタンス メソッドまたはプロシージャを表すシンボルを想定しています。シンボルとプロシージャの任意の組み合わせを含む配列も指定できます。class User < ActiveRecord::Base versioned :if => :really_create_a_version? 終わり