0

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? 終わり

4

1 に答える 1

2

このようにメソッドを定義します

def really_create_a_version?

末尾がありません?

于 2010-12-24T22:14:25.437 に答える