0

モデル レベルのオブジェクトが新規作成または更新されたときに操作したいだけです。たとえば、名前属性を持つテスト テーブルがあるとします。

class Test < ActiveRecord::Base
  custom_callback :hi
  def hi
    name = "h"
  end
end
m = Test.new(:name => "hello")
m.save

before_validation で実行され、保存または保存のたびに実行されるカスタム コールバックを書きたいだけです。と呼ばれます。理想的には、Rails 2.3 でコールバックを実行して ActiveRecord::Base にフックする必要があります。これを行うための宝石はありますか、または「before_validation」コールバックの前に実行されるコールバックを作成する方法を知っている人はいますか?

4

2 に答える 2

1

saveおよびメソッドをオーバーライドしてsave!、コードを効果的に挿入できます。目的に応じて適切な方法もありinitializeます。また、は のbefore_validationvalidateに実行されますが、正確に実行するにはどのくらい前に実行する必要がありますか? また、その理由は?

これをやりたい理由について詳しく教えていただけますか?設計上の問題があり、より根本的な問題に対処するのではなく、ハッキングを見つけようとしているようです。

于 2013-04-12T20:11:41.977 に答える
-1

検証後に実行される before_save を探しているようです: http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html

この回答を参照してください

于 2013-04-12T20:39:11.850 に答える