0

我们在数据库中有一个字段应该自动设置为 UUID 字符串。我们怎么做。视图不包含此字段,因为它将自动生成。我们的新形式会这样称呼。

def new
  @list = List.new
  respond_to do |format|
      format.html
end

我们的创建动作在这里

def create
  @list = List.new(params[:list])
  @list = list.create!(params[:list]) 
end

如果我们试试这个

@list.admin_key = UUIDTools::UUID.timestamp_create().to_s

我们得到一个验证错误并且该字段为空。控制器要求

require 'uuidtools'

我们对该领域的验证是存在且独特的

validates :admin_key,
            :presence => true,
            :uniqueness => true

我们是如何将 admin_key 放入数据库的?

4

1 回答 1

1

你必须在你的模型中这样做

before_validation(:on => :create) do
  self.admin_key = UUIDTools::UUID.timestamp_create().to_s
end
于 2012-05-20T11:45:52.603 回答