2012-08-28 3 views
0

나는이 내 레일 애플 리케이션을위한 도우미에서 다음 선택이 전화를 가지고 있으며, 단위를 찾을 것입니다 무엇을레일이 빈 방법을 선택 하시겠습니까?

def unit_select 
    Unit.all.map{|unit| unit.calls.empty? ? [unit.unit_name, unit.id] : ["#{unit.unit_name} (on call)", unit.id] } 
    end 

그 단위는 옆 유닛 (통화) 통화 APPEND가있는 경우 형태로. 이 문제는 unit.calls.empty를 찾으러 갈 때의 문제입니다. 그것은 고려되지 않아야하는 "닫힌"상태의 통화 기록을 고려합니다.

호출이 call_status가 열려 있는지 여부와 관계없이 unit.calls를 볼 수있게 해주는 또 다른 방법이 있습니까?

답변

0

단위 모델에서 비어있는? 호출 연결 방법 :

class Unit < ActiveRecord::Base 
    has_many :calls do 
    def empty? 
     self.where(:call_status => :open).any? 
    end 
    end 
end 
+0

이 방법은 완벽하지만 비어있는 값을 덮어 씁니다. 메소드를 다른 곳에서 사용해야 할 경우를 대비하여 할당 된 것으로 이름을 변경하려 했습니까? 내 도우미에서 사용하지만 실패합니다. 빈에서만 허용되는 레일스의 제약 사항입니까? 방법으로? – nulltek

+0

아니요, 문제가되지 않아야하는 이름의 메소드를 사용할 수 있습니다. –

+0

사실, 그걸 파업. 통화를 종료하면 call_status가 "닫힘"으로 설정되고 장치가 계속 통화 중일 때 (통화 중) – nulltek

관련 문제