从Rails初始化代码访问文件

时间:2014-02-14 21:37:24

标签: ruby-on-rails ruby ruby-on-rails-3

我正在尝试使用gtfs library。有一些长时间运行的代码需要在初始化时运行(它需要解压缩一个118MB的zip文件):

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

我尝试将zip文件放在/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在load_archive中救援':连接被拒绝 - 连接(2 )对于“localhost”端口3000(GTFS :: InvalidSourceException)

我是否正确地将此初始化放在application.rb中?我怎样才能从那里访问文件?

1 个答案:

答案 0 :(得分:1)

初始化时,您的应用程序不会接受请求。这有用吗?

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