2014-06-19 1 views
0

비슷한 데이터를 보유하고 있지만 다른 특성 이름을 가진 두 개의 모델 개체가 있습니다. 간결함과 명료성을 위해 목록을 간소화 할 것입니다. 정보로 임시 객체를 만들고 객체를 비교 한 다음 일부 데이터가 변경된 경우 객체를 업데이트하려고합니다. 더 나은이 작업을 수행하는 방법에 대한 제안 (I 보여주는거야 다음 더 많은 속성이 있다는 것을 명심하시기 바랍니다)해시를 사용하여 개체에 특성을 매핑하십시오.

회원 객체 속성 을 employeeNumber, employeefirstname 및 employeelastname

을 가지고에 열려있어

Censusitem 목적은 내가 필드가 나는이 단순화 것이라고 생각하는 것이 이상 매핑과 함께이 가지고있는 속성을

employee_ln employee_id입니다, employee_fn을 가지고 :

maps={ 
    employeenumber: :employee_id, 
    employeefirstname: :employee_fn, 
    employeelastname: :employee_ln 
} 

가 생각 나는 루프를 다음 수 어떻게 든에 할당,하지만 난 근처에도 분명하지 않다 :

def clean_member(censusitem, maps) 
    tempmember=Member.new 
    maps.each do |mname,ciname| 
     tempmember.i[o]=censusitem.i[1] 
    end 
    return tempmember 
end 

는 느낌 내가 나를 위해 아주 정상입니다 뭔가 큰 누락 된 것 같은 ;-) 어떤 도움을 주시면 대단히 감사하겠습니다!

마크

답변

1

나는이 일을해야 믿습니다 도움을

def clean_member(censusitem, maps) 
    tempmember=Member.new 
    maps.each do |mname,ciname| 
     tempmember.send("#{mname}=", censusitem.send(ciname)) 
    end 
    return tempmember 
end 
+0

감사-을 !!!!! 대단히 감사합니다! – MechDog

관련 문제