2016-03-28 3 views
2

У меня есть коллекция A, в которую входит коллекция B. Коллекция A, а также коллекция B включают в себя монгольские временные метки (created_at и updated_at).TimeStamps in Mongoid Embedded Documents

Теперь, когда я создаю новую запись коллекции B (встроенный объект) с помощью администратора Rails, отметки времени, сохраненные в базе данных, равны нулю. Но если я создаю запись из консоли rails или из обычного api, то временные метки, сохраненные в базе данных, не ноль.

Любая помощь будет оценена по достоинству.

EDIT:

class B 
    include Mongoid::Document 
    include Mongoid::Timestamps::Created 
    include Mongoid::Timestamps::Updated 

    field :user_id, type: String 
    field :message, type: String 
    field :status,  type: Integer, default: 1 
    field :spam_count, type: Integer, default: 0 

    embedded_in :A 

Класс B вложен в класс А. Если ввод B создается внутри через рельсы администратора, а затем created_at и updated_at поля B становятся сохранены как ноль.

+0

Можете ли вы написать код, который вы написали? – wogsland

ответ

6

Без class A или информация о том, какую версию mongoid вы используете (предположим 5.x). У меня есть некоторые дикие предположения, что вам не хватает флага cascade_callbacks во встроенном отношении.

class A 
    include Mongoid::Document 
    embeds_many :albums, cascade_callbacks: true 
end 
+1

Добавление cascade_callbacks сработало для меня. благодаря –