2

我正在尝试编写一个测试以确保我们不会运行比必要更多的查询。我找到了 ActiveRecord 测试用例并试图继承它。这个测试用例有一些有用的方法,比如 assert_queries(num)。问题 - 它似乎在 3.2.12 中不起作用,并且已被弃用。

有什么地方可以访问查询日志吗?我在我的一个测试用例中打开了 pry shell,试图检查一些查询日志记录对象。没有骰子。

有点沿着这些思路 - 是否有任何工具可以在模型之外注册回调?例如,我想注册一个侦听所有对象保存方法的块。

4

1 回答 1

2

“有没有在模型之外注册回调的工具?”

ActiveRecord::Observer 应该完全按照您的意愿行事。此代码“观察”评论模型:

class CommentObserver < ActiveRecord::Observer
  def after_save(comment)
    Notifications.comment("admin@do.com", "New comment was posted", comment).deliver
  end
end

有关更多示例和高级用法,请参阅http://api.rubyonrails.org/classes/ActiveRecord/Observer.html

于 2013-03-04T18:07:38.063 回答