Ruby on rails 为什么我会得到;Errno::enoint:没有这样的文件或目录";加入文件名时?

Ruby on rails 为什么我会得到;Errno::enoint:没有这样的文件或目录";加入文件名时?,ruby-on-rails,ruby,rgeo,Ruby On Rails,Ruby,Rgeo,我有一个文件要在Rails应用程序中打开。出于某种原因,Ruby正在拆分文件名 例如: root = Rails.root path = root.join('lib/tasks/filename.shp') puts path 输出的是/lib/tasks/filename/shp 然后我运行命令: factory = Region::GEOFACTORY RGeo::Shapefile::Reader.open(path, :factory => factory) do |file|

我有一个文件要在Rails应用程序中打开。出于某种原因,Ruby正在拆分文件名

例如:

root = Rails.root
path = root.join('lib/tasks/filename.shp')
puts path
输出的是
/lib/tasks/filename/shp

然后我运行命令:

factory = Region::GEOFACTORY
RGeo::Shapefile::Reader.open(path, :factory => factory) do |file|
我收到错误消息:

Errno::ENOENT: No such file or directory - /lib/tasks/filename/.shp
文件似乎已被拆分为
文件名
.shp

试试看

path = File.join(Rails.root, 'lib/tasks/filename.shp')
factory = Region::GEOFACTORY
RGeo::Shapefile::Reader.open(path, :factory => factory)