Rails:FakeModel运行相同的验证次数太多次

时间:2011-06-14 07:04:20

标签: ruby-on-rails validation

我们创建了一个继承自Object的FakeModel对象类, 允许使用没有数据库表的模型。

它具有常规ActiveRecord模型的基本功能。 我们还在课堂上添加了以下内容:

include ActiveRecord::Validations

问题在于: 将新请求发送到控制器,并创建从FakeModel类继承的新对象。 当该对象的验证运行时,它们会运行一次以上。 更具体 - 将每个请求发送到服务器, 验证比上一次请求运行一次。

我猜这里的东西“坚持”在服务器级别 (当然,当我重新启动服务器时,它会重置为仅运行一次验证)

原因可能是什么?

更新:

我不能使用ActiveModel解决方案,因为我使用的是Rails 2.3.8。我仍然需要弄清问题在哪里。

2 个答案:

答案 0 :(得分:0)

我建议您使用ActiveModel而不是从头开始编写自己的模型引擎,请参阅this blog post for a tutorial您还可以观看this screencast

答案 1 :(得分:0)

我在这里捅黑暗,但听起来每次加载/保存模型时都会包含验证。

你能告诉我们你把它包括在哪里吗?

在多动物资源中,而不是我们使用的包括:

# make validations work just like ActiveRecord by pulling them in directly
require "active_record/validations.rb"
extend ActiveRecord::Validations::ClassMethods