【发布时间】:2012-02-11 00:58:50
【问题描述】:
我的一个模型中有一个before_save 观察者,如果观察者中符合某个条件,我可以取消保存过程吗?
【问题讨论】:
标签: ruby-on-rails ruby observer-pattern
我的一个模型中有一个before_save 观察者,如果观察者中符合某个条件,我可以取消保存过程吗?
【问题讨论】:
标签: ruby-on-rails ruby observer-pattern
是的,你可以。只需从您的观察者那里返回false。它将取消保存。
至少如果您使用的是 Rails 3.1。如果您使用旧版本的 Rails,您必须使用以下方法定义回调方法:
class MyModel < ActiveRecord::Base
before_save :my_callback
def my_callback
# do something
false
end
end
【讨论】: