A有两个mongoid模型,它们之间有一个简单的has_many / belongs_to关系:
class Lot
include Mongoid::Document
has_many :journal_items
end
class JournalItem
include Mongoid::Document
belongs_to :lot
end
问题是我无法在没有JournalItem
的情况下创建Lot
,因为mongoid默认情况下会在JournalItem.lot_id
上添加非空验证。
JournalItem.create!
# raises validation error "Lot can't be blank"
如何禁用它?
我使用带有Rails 5的mongoid master。
答案 0 :(得分:26)
好的,我已经明白了 - mongoid协会有optional
选项,似乎没有很好地记录。
所以它应该是:
class JournalItem
include Mongoid::Document
belongs_to :lot, optional: true
end