0

私はこのトランザクションを持っています:

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

ご覧のとおりroute_array、データベースに保存しようとしていますが、r.save戻っfalseてきて、理由がわかりません。何か案が?

4

1 に答える 1

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
于 2013-03-28T15:09:09.377 に答える