Rails:数据库视图如何处理活动记录

Rails: how database view works with active records

我是 Rails 的新人。在一个源代码中,我看到有人创建了一些与创建视图相关的 rake 任务。例如:

desc 'create statistic data'
task create_product_statistics:  do
  ActiveRecord::Base.connection.execute <<-SQL
    CREATE VIEW product_statistics AS
      // some complex sql query
  SQL
end

正如我在所有项目中看到的那样,我有一个名为 ProductStatistic 的 table。就这样。因为我搜索时没有关于此的任何文档,所以我不知道上面的代码如何映射到 rails 代码库。请让我知道创建数据库视图如何影响活动记录查询。这看起来像活动记录一样正常查看数据库视图吗table?

谢谢

您可以像使用任何其他视图一样使用视图 table。

class ProductStatistics < ApplicationRecord
  self.table_name = 'product_statistics'
end

... in some controller
ProductStatistics.where(....)