2013-03-15 48 views
0

我有一个Ruby on Rails的,我通过发出命令运行脚本:sudo的Ruby脚本/ mailman_server这个文件的内容是:的Rails:未初始化不断MODEL_NAME

#!/usr/bin/env ruby 
require "rubygems" 
require "bundler/setup" 
require "mailman" 
require "rb-inotify" 
require "#{File.dirname __FILE__}/../config/environment" 

Mailman.config.maildir = '/var/mail' 

Mailman::Application.run do 
    default do 
     begin 
      # call a model 
      Bin.receive_mail(message) 
     end 
    end 
end 

我得到一个错误说:

E, [2013-03-15T02:06:39.555346 #6351] ERROR -- : uninitialized constant Bin 
/var/www/beebin/script/mailman_server:14 

Bin是一个模型,receive_mail()是该模型中的一个函数。为什么我的脚本无法看到模型?

我觉得铁轨环境加载不正常。我从代码中错过了什么,或者启动应用程序的最佳方式是什么?

+0

您好!你能从控制台调用方法吗? – skrypalyk 2013-03-15 16:42:38

回答

0

我不知道它是否解决你的问题,但是这是一个漂亮的语法

require File.expand_path(File.dirname(__FILE__) + '/../config/environment') 

要确认你的环境被加载,尝试做Bin你需要的只是后。

+0

我已经把'b = Bin.all'放在需求之后,它不会给我一个错误。但是,我仍然在第14行得到一个错误,即'Bin.receive_mail(message)'。 – user985723 2013-03-15 20:59:53

相关问题