0

我正在使用 Mongoid 3.1

我正在尝试在创建self.name.parameterize新记录时自动创建一个 slug ( )。我想确保蛞蝓存在且独一无二。我有以下正在工作的代码。但是,我认为这是不对的,因为generate_slug每次保存模型时都会调用它,从而产生大量开销。但是,如果我使用 before_create,我怎样才能验证唯一性和存在性?Mongoid 没有before_validation_on_create类似的 ActiveRecord。

before_validation :generate_slug
field :slug
index({ slug: 1}, { unique: true })
validates :slug, :presence => true, :uniqueness => {:case_sensitive => false}
attr_readonly :slug

private

def generate_slug
self.slug ||= name.parameterize unless name.blank?
end
4

1 回答 1

0

如果名称未更改,如何有条件地跳过回调。

看到这个问题

于 2013-11-14T10:37:30.173 回答