2015-08-14 45 views
0

交易我有以下代碼:獲取插入ID的行中軌與Postgres的

#which receives Group objects and saves them in a transaction 

def saveGroup(group_buffer) 
    self.transaction do 
     output = group_buffer.each(&:save) 
     if(!output) 
      return false 
      break 
     elsif(#I want the inserted row id as they are inserted) 
      #put inserted row id in array 
     end 
    end 
    return #the_array 
end 

這可能嗎?基本上,我想要的是在保存對象並將其推入數組時獲取事務中插入的行ID。做這個的最好方式是什麼?非常感謝...

回答

0

這是你在找什麼?如果任何實例不保存,交易將回滾,所以您不必手動剎車。

def saveGroup(group_buffer) 
    ids = [] 
    self.transaction do 
     group_buffer.each do |i| 
     i.save 
     ids << i.id 
     end 
    end 
if ids.empty? 
    false 
else 
    ids 
end 
end