2013-03-28 50 views
0

我有這樣的交易:.save返回false

begin 
    ActiveRecord::Base.transaction do 
    route_array.each do |r| 
     Rails.logger.info r.save 
    end 
    end 
end 

正如你可以看到我有route_array,我試圖將它保存在數據庫中,但r.save回報false,我不知道爲什麼。任何想法?

回答

2

主要存在是你的模型RouteArray有一些不被尊重的驗證。

你可以試試這個代碼:

ActiveRecord::Base.transaction do 
    route_array.each do |r| 
    if !r.valid? 
     Rails.logger.info r.errors.inspect 
    else 
     Rails.logger.info r.save 
    end 
    end 
end 
+0

謝謝您的回答,它進入別人,讓我看看這個: 假 假 假 假 假 假....... – Anna

+0

也許你想表示如果!r.valid? Rails.logger.info r.errors.inspect – Anna

+0

Ooops,它是!r.valid。現在你可以有你的模型的錯誤。 – pierallard