Rails 如何将解析数据从 sql 视图传递到模型?

Rails how to pass parse data from sql view to model?

我关注了优秀的post from Frank Rietta关于"Adding a Rake Task for SQL Views to a Rails Project"。我喜欢他在 rails 中关于数据库视图的观点和他干巴巴的方法。

我可以 rake db:views 并创建了视图,但我无法获取模型中的信息,这是我的 models/reports/revenue.rb

class Report::Revenue < ApplicationRecord
  self.table_name = 'report_revenues'
end

我更改了扩展名,因为我使用的是 Rails 5.0.0

如果我执行 rails console --sandbox 并在那里执行 Report::Revenue 我会得到以下内容

2.3.1 :004 > Report::Revenue
NameError: uninitialized constant Report

我不确定我错过了什么

Rails 期望模块名称和文件夹名称匹配。请注意,您混合了单数和复数。

也就是说:您必须将模型更改为:

class Reports::Revenue < ApplicationRecord
  self.table_name = 'report_revenues'
end

将您的模型移动到名为 models/report/revenue.rb.

的文件夹中