2013-01-01 3 views
0

2 가지 모델이 있습니다.중첩 된 레코드 수를 제한하려면 어떻게 코딩 할 수 있습니까?

  • 커뮤니티
  • CommunityTopic

커뮤니티 has_many CommunityTopics

하지만 나는 하나의 커뮤니티가 소유 CommunityTopics의 수를 제한하려면? 하나의 커뮤니티에서 소유 할 수있는 최대 1000 개의 레코드로 제한하고 싶습니다.

컨트롤러에서 플래시 오류 메시지와 함께 새 동작을 어떻게 코딩 할 수 있습니까? 및 models/community_topics.rb에서 코딩해야하는 항목은 무엇입니까?

답변

2
당신은 당신의 CommunityTopic 모델에서 유효성 검사를 추가 할 필요가

, 그것은 경우에 당신은 나중에 변경해야 check_limits

def check_limits 
    if self.community.communitytopics.count == 1000 
    self.errors.add("can't create more topics for this community") 
    false 
    else 
    true 
    end 
end 

내가 상수를 사용하는 대신에 단지 1000를 작성하는 것이 좋습니다 명명 할 수있다.

관련 문제