0
У меня есть две модели Предмет и TagКак проверить количество связанных документов?
class Item
include Mongoid::Document
field :title, type: String
has_many :tags
validates_length_of :tags, minimum: 1
end
class Tag
include Mongoid::Document
field :title, type: String
belongs_to :item
end
Деталь должен иметь минимум 1 тег. Когда элемент создается валидация работает очень хорошо:
item = Item.create(title: "black hole")
item.tags << Tag.create(title: "black")
item.tags << Tag.create(title: "heavy")
puts item.valid? # => true
item.save
Но проверка не пройдена, когда существует элемент изменен:
item = Item.find(item.id)
item.title = "nothing"
puts item.tags.count # => 2, it's ok
puts item.valid? # => false, it's wrong
Как проверить количество соответствующих документов должным образом?
Вы можете сделать быструю проверку на 'item.errors', чтобы увидеть, если это действительно теги, которые вызывают ошибку проверки? – depa