2014-03-25 4 views
-1

아래 코드 섹션에서 @ record.main_id에 저장된 CSV에서 열을 추출하려고합니다. 나는 모든 쉼표로 분리 된 값을 얻기 위해 코드를 분할하고 컬럼 ID의 MySQL 테이블 table_val에 저장한다. id에로드하려면 main_id의 모든 인스턴스가 필요하지만 반복되는 값은로드되지 않습니다. 예 2,3,4,6,4,6,8. 모든 인스턴스가 순서대로 필요하지만 대신 값이 2,3,4,6,8로로드됩니다.루비는 모든 요소를 ​​표시합니다.

def get_id 
    @record.main_id.split(', ').map do |f| 
    values = { 
    id: f  
    } 
    @att = Table_val.new(values)  

end 

답변

0

에 대해 어떻게 :

def get_id 
    @record.main_id.split(', ').sort.uniq.map do |f| 
    values = { 
    id: f  
    } 
    @att = Table_val.new(values)  

end 

확인 document이 더 많은 정보를 얻을에 대한 uniqsort.

0

@record.main_id 가정은 혼수 상태의 캐릭터가 같은 ids을 sperated 제공 :

"2,3,4,6,4,6,8" 
# split(',') should give following array: 
["2", "3", "4", "6", "4", "6", "8"] 
#Now 
["2", "3", "4", "6", "4", "6", "8"].map {|f| values = {id: f} } 
#gives expected result: 
[{:id=>"2"}, {:id=>"3"}, {:id=>"4"}, {:id=>"6"}, {:id=>"4"}, {:id=>"6"}, {:id=>"8"}] 

그래서 성공적으로 모든 (중복 포함) ids과 순서를 유지, 이것은 목표하지있어? 어쩌면 가치가 CSV 나 다른 것에서 엉망이되어 버렸을 것입니다.이 코드를 넣으면 좋습니다.