2013-04-01 4 views
0

Когда я пытаюсь, чтобы начать свой рельсы сервер в среде «Mainstreet» этой функции в моей конфигурации/site_config.rb файлНе удается получить рельсы сервер, чтобы начать

def self.settings(env) 
    answer = YAML::load_file('config/siteconfig.yml')[env] 
    raise "No settings for environment #{env}" if answer.nil? 
    answer 
end 

возвращает «Нет настройки для окружающей среды Mainstreet "В siteconfig.yml у меня есть:

mainstreet: 
environment: mainstreet 
S3_DOC_BUCKET: 
PPTX_GEN_SERVICE: 
PDF_GEN_SERVICE: 
OBJ_THUMB_SERVICE: 
WINDOWS_CLIENT_URL: 
KM_KEY: 
HOST_NAME: http://localhost:3000 

и у меня есть файл mainstreet.rb в/конфигурации с параметрами, определенными. Я новичок в рубине, поэтому я не уверен, что происходит здесь, у меня никогда не было такой проблемы. Кроме того, я использую окна.

Вот полный след:

+0

Как вы запускаете сервер? – iltempo

+0

Сначала я установил RAILS_ENV = mainstreet, затем сделал рельсы s -e mainstreet – xxyyxx

ответ

1

Похоже текущий каталог не то, что вы думаете, что это ... Вы должны указать полный путь к файлу конфигурации:

def self.settings(env) 
    path = File.join(Rails.root, "config", "siteconfig.yml") 
    answer = YAML::load_file(path)[env] 
    raise "No settings for environment #{env}" if answer.nil? 
    answer 
end 

EDIT: Ваш конфигурационный файл плохо отформатирован, если то, что у вас здесь, является правильным. Он должен быть с отступом:

mainstreet: 
    environment: mainstreet 
    S3_DOC_BUCKET: 
    PPTX_GEN_SERVICE: 
    PDF_GEN_SERVICE: 
    OBJ_THUMB_SERVICE: 
    WINDOWS_CLIENT_URL: 
    KM_KEY: 
    HOST_NAME: http://localhost:3000 

В консоли rails3 файл разбирает правильно:

irb(main):039:0> y = YAML.load_file("c.yml")["mainstreet"] 
=> {"environment"=>"mainstreet", "S3_DOC_BUCKET"=>nil, "PPTX_GEN_SERVICE"=>nil, "PDF_GEN_SERVICE"=>nil, "OBJ_THUMB_SERVICE"=>nil, "WINDOWS_CLIENT_URL"=>nil, "KM_KEY"=>nil, "HOST_NAME"=>"http://localhost:3000"} 

Это предполагает, вы передаете «MainStreet» в качестве значения env в функции

+0

По-прежнему получаю тот же результат, к сожалению. Два других человека в моей команде, один из которых использует OSX и один, использующий Linux, не испытывают этой проблемы. Возможно, стоит добавить, что я устанавливал rubyracer не в установщик на windows, вы думаете, что не имея этого драгоценного камня, это будет иметь значение? – xxyyxx

+0

@xxyyxx Смотрите мой обновленный ответ –

+0

Это трюк, спасибо. Раньше я пробовал это, но, должно быть, в то время мне не хватало чего-то другого, тогда он не работал. – xxyyxx

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