0

我有一个 ruby​​ on rails 脚本,我通过发出以下命令运行:sudo ruby​​ script/mailman_server 该文件的内容是:

#!/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() 是该模型中的一个函数。为什么我的脚本看不到模型?

我觉得 rails 环境没有正确加载。我从代码中遗漏了什么或启动应用程序的最佳方式是什么?

4

1 回答 1

0

我不确定它是否能解决您的问题,但这是一个更漂亮的语法

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

为确保您的环境已加载,请尝试Bin在您的要求之后执行。

于 2013-03-15T16:43:51.590 回答