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
только после того, как вы требуете.