为什么'这个多字段键不能在Mongoid中工作?

时间:2011-10-05 21:11:13

标签: ruby-on-rails ruby mongodb mongoid

我已将此添加到我的模型中:

key :name, :random_number

我正在使用此回调:

before_create :create_random_number

但是random_number没有使用这样的方法附加到_id:

def create_random_number
   rand(99999999999999999999)
end

这是我得到的结果:

>> Product.create(name: "foo")
   => <Product _id: foo,

1 个答案:

答案 0 :(得分:1)

事实证明你需要使用after_initialize。这对我有用:

key :slug
after_initialize :create_slug

def create_slug
  name = self.name.gsub(' ', '-')
  self.slug = "#{name}-#{rand(36**20).to_s(36)}"
end