2014-01-28 2 views
1

사용자가 시간 경과에 따라 업로드 한 모든 이미지가 포함 된 저장소가 있습니다. 그들이 새로운 그룹의 이미지를 업로드 할 때 나는 각 이미지의 ID를 업 로더로부터 받는다. 그런 다음 새로 업로드 된 이미지를 메타 데이터로 업데이트해야하는 새로운 경로로 이동합니다. 이전 상점을 사용하고 싶지만 업로드 한 이미지를 제외한 모든 것을 필터링하고 싶습니다.Ember.JS로 ID 범위 내의 모델 필터링

그래서 질문입니다 ... 어떻게 범위의 ID로만 상점을 필터링합니까? 예를 들어 내 업 로더가 [30, 31, 32]을 반환하면 보기가 그 이미지 만 표시하도록하겠습니다.

라우터에 이와 같은 필터 속성이 있어야한다고 생각하지만 확실하지 않습니다.

App.PhotosDetailsRoute = Ember.Route.extend({ 
    model: function(params) { 
    return this.get('content').filterBy('id', id >= params[0]); 
    } 
}); 

어떤 도움을 주시면 감사하겠습니다.

답변

2

당신은 ('내용') 나는이 경우에 어떤 콘텐츠 긍정적 아니지만, 이것이 내가 썩를 사용할 때 필터

model: function(params) { 
    this.store.find('photos'); 
    return this.store.filter('photos', function(item){ 
    return item.get('id') >= 10; // dummy parameter 
    }); 
} 
+0

을 사용하는 방법이며, 필터 기능을 사용하는 것이 좋습니다 "정의되지 않은 메서드 'filter'를 호출 할 수 없습니다."라는 오류 메시지가 나타납니다. Ember Data 1.0.beta.1을 사용하고 있습니다. 그래서 아직 끝점에 요청하지 않았으므로 저장소를 사용하려고했습니다. 궁극적으로 개체 데이터를 모델로 푸시하는 대신 부울 값을받습니다. 내가 어떻게 다르게 할 수 있니? http://emberjs.jsbin.com/iveZuPax/3/edit –

+0

그래, 나도 어떤 콘텐츠인지 알지 못했다. 나는 당신이 당신의 모델 훅에서 그것을 보았고 당신이 그것을 다른 곳으로 할당 했음에 틀림 없다고 생각했다. 예전처럼 모델 훅 또는 뭔가). 저장소를 사용하는 경우 모델 유형 및 함수와 함께 필터를 호출 할 수 있으며 라이브 레코드 배열 (새 레코드가 시스템에 기록 될 때 업데이트 됨)을 반환합니다. 'filter'는 서버로부터 데이터를 가져 오지 않기 때문에, 어떤 경우에 find를 호출해야 할 것입니다 (위의 예제에서 나는 이것을 직전에 호출합니다). – Kingpin2k