如何使用ActiveRecord自动增加唯一版本号?

时间:2011-09-27 03:43:25

标签: ruby activerecord auto-increment

我的模型License需要有版本号(Integer),但我不希望与实际的id混淆。

我有一个字段version_number。什么是最简单的方式告诉ActiveRecord在创建时自动增加它?

1 个答案:

答案 0 :(得分:1)

使用before_create回调将version_number设置为上一版本+ 1:

class License < ActiveRecord::Base
  before_create :set_version
  ...
  def set_version
    license = License.last
    current_version = license.nil? ? 0 : license.version_number
    self.version_number = current_version + 1
  end
  ...
end