Ruby on rails Rails-真正在模型中创建一个版本
我使用的是Rails 3 Vestal版本: 我想创建一些逻辑来确定是否/何时在模型更新上创建新版本。根据规格,我做到了:Ruby on rails Rails-真正在模型中创建一个版本,ruby-on-rails,ruby-on-rails-3,vestal-versions,Ruby On Rails,Ruby On Rails 3,Vestal Versions,我使用的是Rails 3 Vestal版本: 我想创建一些逻辑来确定是否/何时在模型更新上创建新版本。根据规格,我做到了: 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
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
class注释:真的要创建版本吗?
def真的创建了一个版本
Rails.logger.debug“really\u create\u version really\u create\u version really\u create\u version really\u create\u version-START”
记录、检查
@note=note.find(32)
Rails.logger.debug'really_create_a_version really_create_a_version really_create_a_version really_create_a_version-END'
结束
结束
但这不起作用,我得到以下错误:
NoMethodError (undefined method `really_create_a_version?' for #<Note:0x155c39a28>):
app/controllers/notes_controller.rb:124:in `update'
NoMethodError(未定义的方法'really_create_a_version'):
app/controllers/notes_controller.rb:124:in'update'
有什么建议或想法吗?thxs
更新
条件版本创建。版本化方法现在接受:if和:除非选项。每个都需要一个表示实例方法或过程的符号,该符号将被评估以确定更新后是否创建新版本。还可以给出包含符号和过程的任意组合的数组。
类用户结束这样定义您的方法
def really_create_a_version?
您缺少尾随的?
您使用的是哪种vestal_版本(或叉子)?