2012-10-19 1 views
1

컬렉션이 아닌 단일 결과를 찾고 있다면 기본 범위를 변경할 수 있습니까? 내가 기록의 전체 세그먼트를 찾을 때 정말에만 범위를 원하는 작업 유형에 따라 기본 범위를 변경할 수 있습니까

즉 Model.find (ID) Model.all

default_scope lambda { where({:language_id => Language.default_or_first.id}) }

내 인덱스는이 방법을 전망.

내가 Model.find (3)을 할 때 기본 언어가 아닌 경우에도 나에게 그것을주고 싶습니다.

답변

0

범위를 지정하지 않으면 기본 범위를 무시할 수 있습니다.

model = Model.unscoped.find(1) 

당신의 모델을 얻을 것이다.

당신은 또한

model = Model.find_by_id!(1) 

을 할 수하지만 난 정말 당신이 더에, 그것은 가능성이 더 두통으로 이어질 것 전혀 기본 범위를 사용하지 않는 고려해야한다고 생각합니다.

+0

내가 범위가 지정되지 않은 것을 이미 찾았는데, 이것이 내 필요에 맞는 것입니다. –

관련 문제