【发布时间】:2009-04-01 00:00:56
【问题描述】:
我的类层次结构如下所示:
class Post < ActiveRecord::Base; end
class Project < Post; end
class ProjectDesignWall < Project; end
有一个控制器可以像这样获取数据:
@projects = Project.find(:all, :include => [:project_image_photos,:user])
在development 中,这会直接从日志中运行以下查询:
SELECT * FROM `posts` WHERE ( (`posts`.`type` = 'Project' ) ) ORDER BY originally_created_at DESC
但是,一旦它以production 模式运行,即使使用相同的数据库和数据,它也会导致以下查询:
SELECT * FROM `posts` WHERE ( (`posts`.`type` = 'Project' OR `posts`.`type` = 'ProjectDesignWall' ) ) ORDER BY originally_created_at DESC
有谁知道为什么会发生这种情况,如果不能彻底解决问题,有没有办法让它至少表现一致?
【问题讨论】:
-
只是为了确定,但您在两个环境中使用相同版本的 Rails 对吗?是哪个版本的?
-
这是在同一台机器上,使用 Rails 2.3.0。
标签: ruby-on-rails ruby activerecord environment