Rails - 我可以使用observer取消模型的保存

时间:2012-01-15 22:45:37

标签: ruby-on-rails ruby observer-pattern

我的某个模型中有一个before_save观察者,如果观察者中某个条件匹配,我可以取消保存过程吗?

1 个答案:

答案 0 :(得分:4)

是的,你可以。只需从观察者那里返回false即可。它将取消保存。

至少如果你使用的是Rails 3.1。如果您使用旧版本的Rails,则必须使用以下命令定义回调方法:

class MyModel < ActiveRecord::Base
  before_save :my_callback

  def my_callback
    # do something
    false
  end
end