Rails 2.3 から Rails 3 にアップグレードしており、次のようなモデルでいくつかの検証があります。
validates_length_of :corporate_type, :in => 1..255, :allow_blank => false, :on => :update, :if => Proc.new { |rra| rra.show_corporate_type? }
Rails 2.3では、これは更新時にのみ呼び出されますが、Rails 3では、作成時に呼び出されるようで、下流のいくつかのものを壊します...誰かがこれが作成時に呼び出される理由を説明できますか?
スタックは次のとおりです。
app/models/rra_agreement.rb:11:in `block in <class:RRAAgreement>'
app/models/foo_application_delegate.rb:29:in `create_application'
28 行目と 29 行目は次のとおりです。
rra = RRAAgreement.new()
rra.save
11行目は上記の検証行です
ありがとうジョエル