0

我正在使用 Rails 3 Vestal 版本 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'

有什么建议或想法吗?谢谢

更新

有条件的版本创建。版本化方法现在接受 :if 和 :unless 选项。每个都需要一个表示实例方法或过程的符号,该符号将被评估以确定是否在更新后创建新版本。也可以给出包含符号和 procs 的任意组合的数组。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 回答