2014-10-29 1 views
0

3 I가 다음 스크립트 :액세스 레일에서 데몬을 사용하여 내 모델

#!/usr/bin/ruby 
require 'rubygems' unless defined?(Gem) 
require 'mongoid' 
include Mongoid::Document 

@classes = Availability.where(:availability_date.gt => Time.now.utc + 1.hours).to_a 
puts @classes.count 

하지만 난 항상 얻을 :

classes_notification.rb : 6 :`에서 : 초기화되지 않은 상수 가용성 (나가서 설명하자면 NameError)

일부 도움을주세요. 가용성 모델에 대한 정보가 포함 된 이메일을 보내려면 데몬을 만들어야합니다.

미리 감사드립니다.

UPDATE 코드


my script is under app/script/user/remeber_classes.rb 

나는 File.dirname을 필요로 (FILE) + "/../../config/environment"

나 '때문에 액세스 할 수있는 방법

/Users/jeanosorio/.rvm/rubies/ruby-1.9.3-p484/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_req을 받고 m uire.rb : 126 : require': cannot load such file -- ./../../config/environments (LoadError) from /Users/jeanosorio/.rvm/rubies/ruby-1.9.3-p484/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:126:in 의는 '5 : remember_class.rb에서'에서 '필요

+0

안녕하세요. 레일 앱을 함께 사용해야하는 경우 delayed_job, sidekique, resque와 같은 백그라운드 작업자를 사용할 수 있습니다. 당신은 별도의 응용 프로그램 처럼 만드는 경우 당신은 가 Mongoid :: 문서 ... 당신의 필드 ... end' 이 그것을 필요로 포함 별도의 클래스 '클래스 지원을해야한다. 그리고 나서 당신은 그것을 액세스 할 수 있어야합니다 –

답변

1

당신이
이 코드에 require "path_to_the_application/config/environment"를 추가하려면 먼저 환경 레일을 포함해야

또는

당신 항상 데이터베이스에 액세스 할 수 있습니다 직접

를 참조 몽고 보석
를 사용하여

+0

답변 주셔서 감사합니다 rejin. 어떻게 보여줄 수 있겠습니까? 감사합니다 – Jean

+0

@jean 레일 러너를 사용해보십시오. ''ruby app/script/user/remeber_classes.rb'' 대신''rails runner app/script/user/remeber_classes.rb''를 사용하십시오 – rejin

관련 문제