2009-11-01 3 views
2

이 질문에 대한 좋은 제목은 없지만 제 문제는 레일에 서브 테이블의 조건을 설정하는 것입니다. "users"라는 모델과 "hours"라는 모델이 있습니다. 시간은 "belongs_to : users"로 설정되고 사용자 - 모델은 "has_many : hours"를 갖습니다.레일에있는 서브 테이블의 조건

그러나 내 문제는 사용자를 가져 오려고 시도하지만 이번 달에 추가 된 시간입니다. 이 작업은 Index 작업에서만 수행하고 싶습니다.

서브 테이블의 조건을 어떻게 설정할 수 있습니까?

답변

2
class SomeController 
    def index 
    Hours.all(:include => [:user], :conditions => "added_this_month is null") 
    end 
end 
+0

을 사용할 수 있습니다 거의 내가 원하는 것을, 그러나 또한 어떤 시간하지 않은 사용자를 반환 추적 할 수없는 가망 무엇입니까? (JOIN LEFT?) – ThoKra

+0

해결 방법 : http://stackoverflow.com/questions/1509692/rails-activerecord-joins-with-left-join-instead-of-inner-join – ThoKra

+0

오 잘 ... 어쨌든 편집했습니다. 귀하가 사용자 대 시간에 더 많은 관심을 보였기 때문에. – rnicholson

0

has_many:conditions

has_many :hours, :conditions => ...

+0

답변에 약간의 세부 사항을 추가하십시오. 기술적으로 질문에 답할 수는 있지만 솔루션을 구현하는 방법에 대한 좋은 예는 제공하지 않습니다. – Jon

관련 문제