我遵循post中关于“为SQL视图添加Rake任务到Rails项目”的优秀Frank Rietta。我喜欢他对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
我不确定我错过了什么
答案 0 :(得分:0)
Rails期望模块名称和文件夹名称匹配。请注意,您混合了单数和复数。
说:你必须将你的模型改为:
class Reports::Revenue < ApplicationRecord
self.table_name = 'report_revenues'
end
或将您的模型移动到名为models/report/revenue.rb
的文件夹中。