2013-03-30 2 views
0

나는 두 가지 모델 항목이 있고 항목이 최소 1 태그가 있어야관련 문서 수를 확인하는 방법은 무엇입니까?

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 

태그입니다. 항목 검증을 만들어 아주 잘 작동 :

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 

어떻게 적절하게 관련 문서의 수를 검증하기 위해?

+0

당신이 그것을 정말로 유효성 검사 오류를 일으키는 태그를인지보기 위해'item.errors'에 빠른 검사를 할 수 있습니까? – depa

답변

0

제목에 attr_accessible을 추가 했습니까?

그 결과는 다음과 같습니다

class Item 
    include Mongoid::Document 

    attr_accessible :title # <-- here 
    field :title, type: String 
    has_many :tags 

    validates_length_of :tags, minimum: 1 
end 
관련 문제