将回调添加到动态创建的ActiveRecord类

时间:2015-11-28 14:53:47

标签: ruby-on-rails activerecord

我正在动态创建一个ActiveRecord类,并且代码如下:

new_klass = Class.new ActiveRecord::Base do
  cattr_accessor :model_name
  self.abstract_class = false
  self.table_name = "foo"

  # do more stuff...


end

Object.const_set "Foo", new_klass

如何向此课程添加回调,例如 before_save 回调?

2 个答案:

答案 0 :(得分:2)

由于你在类范围内,所以看不出你不需要的问题,只需调用你想要注册的回调方法......

下面我添加了一个验证回调来阻止实例验证:

pip3 install --upgrade scipy

答案 1 :(得分:1)

尝试将一个问题包含在您的动态类中,然后在那里处理它。

rand()