Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何访问存储在tmp目录中的文件?_Ruby On Rails - Fatal编程技术网

Ruby on rails 如何访问存储在tmp目录中的文件?

Ruby on rails 如何访问存储在tmp目录中的文件?,ruby-on-rails,Ruby On Rails,我正在使用CarrierWave将图像上载到我的网页。目前,我正在与AmazonS3和Heroku合作。但是,我希望能够使用localhost在我的机器上测试它。再一次,我有这个工作。但是,我将上传的照片存储在我的应用程序tmp目录中,该目录位于: Users/../app/tmp/uploads 当试图显示图像时,我得到一个断开的链接。我一直在使用: ”/> 显示图像,它一直在Heroku上工作。在localhost上,我遇到以下错误: ActionController::路由错误 (没有与[

我正在使用CarrierWave将图像上载到我的网页。目前,我正在与AmazonS3和Heroku合作。但是,我希望能够使用localhost在我的机器上测试它。再一次,我有这个工作。但是,我将上传的照片存储在我的应用程序tmp目录中,该目录位于:

Users/../app/tmp/uploads

当试图显示图像时,我得到一个断开的链接。我一直在使用:

”/>

显示图像,它一直在Heroku上工作。在localhost上,我遇到以下错误:

ActionController::路由错误
(没有与[GET]匹配的路由“/Users/../app/tmp/uploads/pic.jpeg”)


我真的不知道该怎么办,我想提供路径就足够了。谢谢你的帮助

你在用雾吗?此答复假定您是

在/config/environments/development.rb中,您应该能够设置以下内容:

config.uploadsURL = "http//localhost:3000"
config.serve_static_assets = true
在/config/initializers/carrierwave.rb中:

if Rails.env.production?
    # your aws config stuff
else
    config.storage   = :file
end
从某种角度来看(除非我忘记了什么),你应该能够:

<%= image_tag(image.imgUpload.mini) if image.imgUpload? %>
当然,您应该能够在本地主机上测试它,同时也可以使用AWS存储。从以下位置更改/config/environments/development.rb可能更简单:

config.action_controller.asset_host = "//#{ENV['FOG_DIRECTORY']}.s3.amazonaws.com"


并在本地主机上运行时继续使用AWS。

您尝试过使用
bucket.url
吗?我已经尽了最大努力。现在我得到了
interning空字符串
我添加了
config.action\u controller.asset\u host=“///your test bucket.s3.amazonaws.com”
。什么会导致实习空字符串错误?我在网上到处找了找,没有找到什么帮助。我将尝试重置本地数据库,我觉得可能有问题。谢谢你的帮助!您的测试bucket应该替换为s3上的实际bucket名称,对吗?实际上不是“你的测试桶”。只是检查一下。
config.action_controller.asset_host = "//#{ENV['FOG_DIRECTORY']}.s3.amazonaws.com"
config.action_controller.asset_host = "//your-test-bucket.s3.amazonaws.com"