1

10 가지 속성을 포함하는 하나의 백본 모델이 있습니다. 이제 새로 만든 다른 모델에서 복사/복제되도록 5 가지 속성 (10 가지 속성 중)을 원합니다. 개별적으로 설정/설정하는 방법으로이 작업을 수행 할 수 있지만이 작업을 수행하는 데 더 나은/간단한 방법이 있는지 알고 싶습니다.클론 백본 모델 속성

예 : modelfirst {FLD1 : 값 1, FLD2 : 값 2 ....}

새로운 modelsecond() 집합 ({가 FLD1 : modelfirst.attributes.fld1 ...}).

나는 다음과 같이하고 싶다 :

새로운 모델의 두번째 세트 (modelfirst.get ('fld1', 'fld2')}));

어떤 아이디어가 있습니까?

답변

2

(이 백본에서 요구이기 때문에, 당신이 그것을에 액세스 할 수 있습니다)를 사용하여 밑줄의 방법 :

new modelsecond(_.pick(_.clone(modelfirst.attributes), 'fld1', 'fld2', ...)) 

당신은

new modelsecond(_.pick(
    _.clone(modelfirst.attributes), 
    _.select(_.keys(modelfirst.attributes), 
      function(attr){ return /^[a-z]+$/.test(attr) })) 
+0

감사 할 수 있어야 모든 소문자 속성을 선택하려면를 @ 데이비드, 우리는 소문자로 모든 속성 이름을 처리 할 수 ​​있습니까? –

+0

어떻게 할 수 있는지 보여주기 위해 내 대답을 업데이트했습니다. –

+0

첫 번째 모델의 대소 문자 (예 : FIRSTNAME, LASTNAME)의 모든 속성 이름은 소문자로 두 번째 모델의 값으로 복사/복제하고 싶습니다 (예 : 성, 성). –