2014-02-14 2 views
1

Я пытаюсь использовать gtfs library. Там какой-то затянувшийся код, который должен быть запущен при инициализации (он должен распаковать 118MB почтовый файл):Доступ к файлам из кода инициализации Rails

source = GTFS::Source.build(<URI or Path to GTFS zip file>) 

Я пытался поставить почтовый файл в /public, а затем получить доступ к нему из appplication.rb:

config.after_initialize do 
    puts "building GTFS" 
    source = GTFS::Source.build("http://localhost:3000/gtfs-2014-02-14.zip") 
    puts "built GTFS" 
    source.each_agency {|agency| puts agency} 
end 

Однако, я получил эту ошибку:

/home/myuser/.rvm/gems/ruby-2.1.0/gems/gtfs-0.2.2/lib/gtfs/url_source.rb:18:in `rescue in load_archive': Connection refused - connect(2) for "localhost" port 3000 (GTFS::InvalidSourceException)

Правильно ли я поставить эту инициализацию в application.rb? И как я могу получить доступ к файлам?

ответ

1

Ваше приложение не будет принимать запросы при инициализации. Это работает?

source = GTFS::Source.build("#{Rails.root}/public/gtfs-2014-02-14.zip") 
+0

Это так, вы спасли мой день! Другой вариант, который работает локально, но вызовет больше проблем при развертывании на новый сервер: 'source = GTFS :: Source.build ('/ mywebsite/public/gtfs-2014-02-14.zip')' –

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