ruby-on-rails - Rails - 我可以使用观察者取消模型的保存吗

标签 ruby-on-rails ruby observer-pattern

我的一个模型中有一个 before_save 观察者,如果观察者中满足特定条件,我可以取消保存过程吗?

最佳答案

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

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

class MyModel < ActiveRecord::Base
  before_save :my_callback

  def my_callback
    # do something
    false
  end
end

关于ruby-on-rails - Rails - 我可以使用观察者取消模型的保存吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8874024/

相关文章:

mysql - 错误 : Failed to build gem native extension (mysql2 on rails 3. 2.3)

ruby - 在新的 Sinatra 扩展中集成模型和 View

ruby - 'pathutil' ruby​​ gem 是否与 jekyll (v3.9.0) 和 ruby​​ (v3.0.0) 兼容?

ruby-on-rails - 在 rake 任务期间关闭观察者的简单方法?

Java观察者模式寻找发件人?

java - java.util.Observable 是线程安全的吗?

ruby-on-rails - 在cron中运行的rake任务找不到数据库表

ruby-on-rails - 在 Rails Minitest 中测试 Thinking Sphinx 搜索结果

ruby-on-rails - Sidekiq 无法连接到 Redis 服务器

ruby - 使用<<时出现语法错误,但使用+ =时则没有