Rails: неинициализированная константа MODEL_NAME

У меня есть скрипт 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() - это функция в этой модели. Почему мой сценарий не может увидеть модель?

Я чувствую, что окружение рельсов загружается неправильно. Чего мне не хватает в коде или как лучше всего запустить приложение?

1 ответ

Я не уверен, решит ли это вашу проблему, но это более красивый синтаксис

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

Чтобы убедиться, что ваша среда загружена, попробуйте сделать Bin только после того, как вы требуете.

Другие вопросы по тегам