Почему этот ключ с несколькими полями не работает в Mongoid? - PullRequest
1 голос
/ 06 октября 2011

Я добавил это к моей модели:

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 Ответ

1 голос
/ 06 октября 2011

Оказывается, вам нужно использовать 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
...