2014-03-25 77 views
-1

在下面的代碼部分,我試圖從存儲在@ record.main_id中的CSV中提取一列。我將代碼拆分以獲取每個逗號分隔值並將其存儲在列id中的MySQL表table_val中。 我需要main_id的每個實例都被加載到id中,但是重複的值沒有被加載。 例如2,3,4,6,4,6,8。 我需要按順序的每個實例,但相反,值被加載爲2,3,4,6,8。Ruby顯示每個元素

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給昏迷的字符串sperated ids像:

"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或其他東西搞砸了,把這段代碼很好。