我已經在MySQL中創建了一個視圖,它對應於我正在生成的一些報告(按月份分組,按照累積年份分組)。該視圖有3列(年,月,總)。查看/表格名稱是「report_monthly」。我知道我可以通過connection()。select_all(...)使用raw sql,但是我想爲這個表創建一個ActiveRecord。爲什麼Rails拒絕使用我的模型(基於SQL視圖)?
這是我在一個文件模式叫「report_monthly.rb」:
class MonthlyReport < ActiveRecord::Base
# I assume that setting the table name circumvents the pluralized file name convention
set_table_name "report_monthly"
end
該文件被放置在標準導軌結構:
app
controllers
helpers
models
report_monthly.rb
views
現在,當我使用RoR的控制檯(腳本/控制檯)我什至不能看到班級更少列出所有的行
>> MonthlyReport
NameError: uninitialized constant MonthlyReport
我所有的其他m odels工作正常,但他們遵循「singular.rb」 - >類Singluar - >表複數約定
更新: 這是否與視圖是不可變的事實有關?無法插入/更新?
版本:
的Ruby 1.8.7,2.3.2的Rails時,MySQL 5.0.75
我想我可以用set_table_name來限制約定,顯然文件名 - >類名映射不是可選的。 – basszero 2009-05-27 16:28:48