这可能是一个相当简单的问题,但我没有从我的搜索中找到解决方案。我想访问我的rails app目录之外的文件夹中的文件,例如我有一个文件夹:
/媒体/文件/
我的rails应用程序位于
目录中/媒体/ rails_app /应用
但我想从Files目录中加载我的rails应用程序中的文件。我尝试了几个像反引号的东西
../../文件/ image.jpg的
并直接链接到该文件,但这没有奏效。由于安全问题,这是否可能或不可能?这些文件在同一台服务器上,所以我不确定为什么这会是一个问题,但我还没有看到让它工作的方法。我不希望在/ public / images中的实际应用程序中包含所有这些文件。有什么建议吗?
答案 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')