2013-03-15 3 views
0

У меня есть рубин на рельсах сценарий, который я бегу, выполнив команду: Судо рубиновый скрипт/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

ответ

0

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

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

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

+0

Я поместил 'b = Bin.all' сразу после запроса и не дал мне ошибку на этой строке. Однако я все еще получаю сообщение об ошибке в строке 14, которая является 'Bin.receive_mail (message)'. – user985723

Смежные вопросы