2014-04-21 9 views
0

나는 내 지식을 올바르게 모든 설정이 Heroku가 난간 (4)를 사용하여 설치 MongoHQ를 시도하고 있지만, 지금이 오류 받고 있어요 :레일 4 - 초기화되지 않은 상수 몽고 모델

uninitialized constant Job::TempEmailContactStoreCsv

이를

class Job < ActiveRecord::Base 
    belongs_to :user 

    def store_email_contact_csv(file) 
    contact_array = csv_to_array(file) 
    TempEmailContactStoreCsv.create(email_contact_array: contact_array, job_id: id) 
    end 

end 

그리고 내 몽고 모델 :

class TempEmailContactStoreCsv 
    include Mongoid::Document 

    field :email_contact_array, type: Array 
    field :job_id 

    def self.store(job_id, email_contact_array) 
    r = TempEmailContactStoreCsv.find_by(job_id: job_id) 
    if (r.nil?) 
     TempEmailContactStoreCsv.create!(job_id: job_id, email_contact_array: email_contact_array) 
    end 
    end 

    def self.exists?(job_id) 
    r = TempEmailContactStoreCsv.find_by(job_id: job_id) 
    return r.nil? == false 
    end 

    def self.retrieve(job_id) 
    return TempEmailContactStoreCsv.find_by(job_id: job_id) 
    end 

    def self.delete(job_id) 
    r = TempEmailContactStoreCsv.find_by(job_id: job_id) 
    r.destroy unless r.nil? 
    end 

end 
Job 오류가 일어나고있는 모델입니다

그래서 내 mongo 모델이 초기화되지 않은 것 같고 네임 스페이스가 나에게 이상하게 보입니다.

이 오류의 원인과 해결 방법에 대한 의견이 있으십니까?

+1

TempEmailContactStoreCsv하지해야 하는가? 레일이 그것을 발견하기를 기대하는 곳이 아니라면, 그것은 사물을 설명 할 것입니다. –

+0

좋은 지적 - app/models/temp_email_store_csv.rb에 있습니다. – Luigi

답변

1

레일이 클래스를 자동으로로드하려면 파일이 레일로드 경로 (app/models가 포함되어 있으므로 괜찮습니다) 내에 있어야하며 파일 이름은 클래스 이름의 camelcased 버전이어야합니다. 귀하의 경우에는

파일 이름 temp_email_contact_store_csv.rb 디스크에 temp_email_store_csv.rb