나는 생성하고있는 일부 보고서에 해당하는 MySQL에서보기를 만들었습니다 (롤업으로 월, 연도별로 그룹화 된 합계). 보기에는 3 열 (년, 월, 총)이 있습니다. 보기/표 이름은 "report_monthly"입니다. 내가 연결()을 통해 원시 SQL을 사용할 수 있습니다 select_all (...)하지만이 테이블에 대한 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
파일은 표준 레일 구조에 배치됩니다 : 나는 RoR에 콘솔을 사용할 때 이제
app
controllers
helpers
models
report_monthly.rb
views
(스크립트/콘솔) 심지어 클래스 훨씬 적은 목록을 볼 수없는 행
>> MonthlyReport
NameError: uninitialized constant MonthlyReport
내 다른 m의 모든 모든 odels 잘 작동하지만 "singular.rb"-> 클래스 Singluar -> 표의 규칙을 따르십시오.
업데이트 : 보기가 변경되지 않는다는 사실과 관련이 있습니까? 삽입/업데이트 할 수 없습니까?
버전 :
루비 1.8.7이, 2.3.2 레일, MySQL은 5.0.75
나는 set_table_name을 사용하여 대회를 포용 할 수 있다고 생각했다. 분명히 filename-> classname 매핑은 선택 사항이 아니다. 감사합니다! – basszero