访问rails应用程序以外但在同一服务器上的目录时出现问题

时间:2011-09-04 18:30:28

标签: ruby-on-rails ruby

这可能是一个相当简单的问题,但我没有从我的搜索中找到解决方案。我想访问我的rails app目录之外的文件夹中的文件,例如我有一个文件夹:

  

/媒体/文件/

我的rails应用程序位于

目录中
  

/媒体/ rails_app /应用

但我想从Files目录中加载我的rails应用程序中的文件。我尝试了几个像反引号的东西

  

../../文件/ image.jpg的

并直接链接到该文件,但这没有奏效。由于安全问题,这是否可能或不可能?这些文件在同一台服务器上,所以我不确定为什么这会是一个问题,但我还没有看到让它工作的方法。我不希望在/ public / images中的实际应用程序中包含所有这些文件。有什么建议吗?

1 个答案:

答案 0 :(得分:2)

也许您的rails进程是以无法访问该文件的用户身份运行的?每当我需要在rails中指定一个路径时,我总是使用Rails.root来获得一个真正的绝对路径然后从那里开始工作。

似乎可以在rails dir外面阅读

IO.read('/tmp/foo.txt')
 => "adf\n" 

指定绝对路径

ree-1.8.7-2010.02 :002 > File.join(Rails.root, '..', 'bar', 'foo.img')