제한을 사용하여 hasMany 관계를 어떻게 설정할 수 있습니까?

니콜라스 존 16

이상한 사건이 있는데 어떻게 처리해야할지 모르겠습니다.

한 무리의 Containers각 컨테이너 hasMany items가 있지만 item_slots. 예를 들어 한 컨테이너에는 3 개의 슬롯이 있고 다른 컨테이너에는 1 개만있을 수 있습니다.

App.Container = DS.Model.extend({
  name:DS.attr('string'),
  item_slots:DS.attr('number'),
  items:DS.hasMany('item')
});

App.Container.FIXTURES = [
  {id:1, name:'Container 1', item_slots:3},
  {id:2, name:'Container 2', item_slots:4},
  {id:3, name:'Container 3', item_slots:1}
];

그리고이 Items슬롯에 들어갈 수 있는 목록 이 있습니다.

App.Item = DS.Model.extend({
  name:DS.attr('string')
});

App.Item.FIXTURES = [
  {id:1,name:'Item 1'},
  {id:2,name:'Item 2'},
  {id:3,name:'Item 3'},
  {id:4,name:'Item 4'}
];

내가 하려는 작업의 예로서 여기 에 jsBin을 만들었지 만 완전하지 않습니다. 내가 붙어있는 부분에 대해 주석을 달았습니다.

선택할 수있는 모든 항목의 드롭 다운을 제공하는 구성 요소를 만들었습니다. 내 질문은 실제로 어떻게 device_slots각각을 반복 할 수 Container있습니까? 그런 다음 item-selectordevice_slot.

나는 이것에 대한 API도 개발 중이므로 어쨌든이 문제를 해결하기 위해 수정 할 수 있다면 완전히 가능할 것입니다. 현재 페이로드는 다음과 같습니다.

{ "containers":
   [{id:1,name:'Container 1',item_slots:3},
   {id:2,name:'Container 2',item_slots:4},
   {id:1,name:'Container 3',item_slots:1}]
}

다음과 같이 사용됩니다.

{ "containers":
   [{id:1,name:'Container 1',items:[1,2,3]},
   {id:2,name:'Container 2',items:[1,2,3,4]},
   {id:1,name:'Container 3',items:[1]}]
}

실제로 작업을 시작하고 Ember가 항목을 자동으로 연결한다는 것을 깨달을 때까지 (굉장합니다!) items빈 문자열이있는 배열이거나 NULL계속 반복 할 수 있도록 API를 변경하려고 시도했지만 #each모든 항목이로드되지 않았다는 오류가 계속 발생했습니다. item_slots관계 문제를 피하기 위해로 변경했습니다 .

이 문제를 해결하기 위해 for 루프 도우미를 만들려고했지만 알아낼 수 없었습니다. 블록 도우미가 지원되지 않는 것을 보았을 때 잘못된 방향으로 가고있는 것 같았습니다. 이 작업을 수행하기 위해 뷰 또는 구성 요소를 사용할 수있는 방법을 생각하고 있었지만 보이지 않습니다. 나는 내 앱의 여러 위치에 이런 종류의 것을 가지고 있으며 각 경우를 처리하기 위해 많은 특수 클래스를 작성할 필요가 없습니다.

모든 의견, 아이디어 및 도움을 주시면 감사하겠습니다! 감사!!

니콜라스 존 16

문제를 해결하기 위해 ID가 0 인 새 빈 항목을 데이터 세트에 추가했습니다. 그런 다음 API에서 각 컨테이너가 각 슬롯에 하나씩 0 배열을 반환하도록 변경했습니다. Ember는 해당 데이터를 연결하고 정상적으로 반복 할 수 있지만 모든 것이 비어 있기 때문에 선택기로 설정할 때까지 아무것도 표시되지 않습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

hasMany 관계의 내용을 어떻게 볼 수 있습니까?

분류에서Dev

동일한 테이블에서 두 개의 hasMany 관계를 어떻게 병합 할 수 있습니까?

분류에서Dev

WinPE를 사용하여 Windows 7을 어떻게 설치할 수 있습니까?

분류에서Dev

gconftool-2를 사용하여 gnome-terminal의 배경색을 어떻게 설정할 수 있습니까?

분류에서Dev

pptx-python을 사용하여 슬라이드 크기를 어떻게 설정할 수 있습니까?

분류에서Dev

LINQ to SQL을 사용하여 전체 개체를 어떻게 설정할 수 있습니까?

분류에서Dev

gconftool-2를 사용하여 gnome-terminal의 배경색을 어떻게 설정할 수 있습니까?

분류에서Dev

이 코드를 사용하여 중력을 어떻게 설정할 수 있습니까?

분류에서Dev

jquery를 사용하여 기본 라디오 버튼을 어떻게 설정할 수 있습니까?

분류에서Dev

VBA For Loop를 사용하여 OptionButton 글꼴을 어떻게 설정할 수 있습니까?

분류에서Dev

루프를 사용하여 버튼 텍스트 속성을 어떻게 설정할 수 있습니까?

분류에서Dev

파이썬에서 요청을 사용하여 쿠키를 어떻게 설정할 수 있습니까?

분류에서Dev

Javascript를 사용하여 달러 기호로 끝나는 속성을 어떻게 설정할 수 있습니까?

분류에서Dev

gconftool-2를 사용하여 gnome-terminal의 배경색을 어떻게 설정할 수 있습니까?

분류에서Dev

Gradle을 사용하여 Groovy CompilerConfig를 어떻게 지정할 수 있습니까?

분류에서Dev

사용할 관계를 어떻게 알 수 있습니까?

분류에서Dev

psiphon을 사용하여 Torrent를 어떻게 사용할 수 있습니까?

분류에서Dev

Telegram에서 여러 계정을 어떻게 사용할 수 있습니까?

분류에서Dev

파이썬에서 .remove ()를 사용하여 특정 셀을 어떻게 삭제할 수 있습니까?

분류에서Dev

Java에서 직렬화를 사용하여 특정 직원을 어떻게 삭제할 수 있습니까?

분류에서Dev

bpf를 사용하여 패킷을 어떻게 반환 할 수 있습니까?

분류에서Dev

theos를 사용하여 IOKit을 어떻게 연결할 수 있습니까?

분류에서Dev

theos를 사용하여 IOKit을 어떻게 연결할 수 있습니까?

분류에서Dev

IN 절을 사용하여 결과를 어떻게 표시 할 수 있습니까?

분류에서Dev

Checkout 세션을 사용하여 구독을 설정할 때 billing_cycle_anchor를 어떻게 설정할 수 있습니까?

분류에서Dev

NodeJS-리스너 콜백을 설정하는 함수를 어떻게 사용할 수 있습니까?

분류에서Dev

여러 다른 테이블을 참조 할 수있는 외래 키 관계를 어떻게 제한 할 수 있습니까?

분류에서Dev

Linux에서 find를 사용하여 lookahead 및 lookbehind 정규식을 어떻게 사용할 수 있습니까?

분류에서Dev

모듈러스 연산자를 사용하여 소수점을 어떻게 설명 할 수 있습니까?

Related 관련 기사

  1. 1

    hasMany 관계의 내용을 어떻게 볼 수 있습니까?

  2. 2

    동일한 테이블에서 두 개의 hasMany 관계를 어떻게 병합 할 수 있습니까?

  3. 3

    WinPE를 사용하여 Windows 7을 어떻게 설치할 수 있습니까?

  4. 4

    gconftool-2를 사용하여 gnome-terminal의 배경색을 어떻게 설정할 수 있습니까?

  5. 5

    pptx-python을 사용하여 슬라이드 크기를 어떻게 설정할 수 있습니까?

  6. 6

    LINQ to SQL을 사용하여 전체 개체를 어떻게 설정할 수 있습니까?

  7. 7

    gconftool-2를 사용하여 gnome-terminal의 배경색을 어떻게 설정할 수 있습니까?

  8. 8

    이 코드를 사용하여 중력을 어떻게 설정할 수 있습니까?

  9. 9

    jquery를 사용하여 기본 라디오 버튼을 어떻게 설정할 수 있습니까?

  10. 10

    VBA For Loop를 사용하여 OptionButton 글꼴을 어떻게 설정할 수 있습니까?

  11. 11

    루프를 사용하여 버튼 텍스트 속성을 어떻게 설정할 수 있습니까?

  12. 12

    파이썬에서 요청을 사용하여 쿠키를 어떻게 설정할 수 있습니까?

  13. 13

    Javascript를 사용하여 달러 기호로 끝나는 속성을 어떻게 설정할 수 있습니까?

  14. 14

    gconftool-2를 사용하여 gnome-terminal의 배경색을 어떻게 설정할 수 있습니까?

  15. 15

    Gradle을 사용하여 Groovy CompilerConfig를 어떻게 지정할 수 있습니까?

  16. 16

    사용할 관계를 어떻게 알 수 있습니까?

  17. 17

    psiphon을 사용하여 Torrent를 어떻게 사용할 수 있습니까?

  18. 18

    Telegram에서 여러 계정을 어떻게 사용할 수 있습니까?

  19. 19

    파이썬에서 .remove ()를 사용하여 특정 셀을 어떻게 삭제할 수 있습니까?

  20. 20

    Java에서 직렬화를 사용하여 특정 직원을 어떻게 삭제할 수 있습니까?

  21. 21

    bpf를 사용하여 패킷을 어떻게 반환 할 수 있습니까?

  22. 22

    theos를 사용하여 IOKit을 어떻게 연결할 수 있습니까?

  23. 23

    theos를 사용하여 IOKit을 어떻게 연결할 수 있습니까?

  24. 24

    IN 절을 사용하여 결과를 어떻게 표시 할 수 있습니까?

  25. 25

    Checkout 세션을 사용하여 구독을 설정할 때 billing_cycle_anchor를 어떻게 설정할 수 있습니까?

  26. 26

    NodeJS-리스너 콜백을 설정하는 함수를 어떻게 사용할 수 있습니까?

  27. 27

    여러 다른 테이블을 참조 할 수있는 외래 키 관계를 어떻게 제한 할 수 있습니까?

  28. 28

    Linux에서 find를 사용하여 lookahead 및 lookbehind 정규식을 어떻게 사용할 수 있습니까?

  29. 29

    모듈러스 연산자를 사용하여 소수점을 어떻게 설명 할 수 있습니까?

뜨겁다태그

보관