ruby-on-rails - 从 Amazon 服务器读取文件,Ruby on Rails,没有匹配路线

标签 ruby-on-rails ruby amazon-web-services heroku

我现在正在使用 Heroku 服务器和 AWS 开发 Ruby on Rails 应用程序。 在应用程序中,我必须读取文本文件。我在本地进行了测试,现在将此文件放入 AWS 中。

当我将文件地址放入 AWS 时,会弹出以下错误消息。

Errno::ENOENT (No such file or directory @ rb_sysopen - https://s3-us-west-2.amazonaws.com/ringleplus2015/my_file.txt):

当我在 Chrome 上复制并粘贴此地址时,我可以毫无问题地下载文件。

#file = File.open("./my_file.txt","r")  
file = File.open("https://s3-us-west-2.amazonaws.com/testbuckethoho/my_file.txt","r")

我允许任何人阅读此内容。

此外,在 html.rb 文件中,我还放置了用户可以从中下载 pdf 文件的链接。 "target="_blank"class="btn btn-lg btn-default">案例下载

但是当我点击它时,它显示“此网页不可用。”我仔细查看地址,“https”和“//”之间的“:”消失了

https//s3-us-west-2.amazonaws.com/testbuckethoho/What+Consumers+Want+from+Their+Displays+%7C+The+Applied+Materials+Blog.pdf

当我在那里包含“:”时,它就起作用了。但如果我在 html 文件中包含“:”,则会导致此错误。

No route matches [GET] "/home/:/https:/s3-us-west-2.amazonaws.com/testbuckethoho/What+Consumers+Want+from+Their+Displays+%7C+The+Applied+Materials+Blog.pdf"

有人能帮我找出导致此问题的原因并解决它吗? :)

最佳答案

Ruby 正在查找名为 https://s3-us-west-2.amazonaws.com/testbuckethoho/my_file.txt 的本地文件。它不知道向远程主机发出请求。

有多种方法可以解决这个问题,内置的方法是 open-uri .

关于ruby-on-rails - 从 Amazon 服务器读取文件,Ruby on Rails,没有匹配路线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30410951/

相关文章:

javascript - rails 和 javascript,知道用户是否确认了一个对话框

ruby-on-rails - 使用 Rails 进行敏捷 Web 开发 Book Create Product Test Failure

ruby-on-rails - 如何在 Rails 中填充模型?

amazon-web-services - 使用 golang 无法将文件上传到 SFTP 主机

amazon-web-services - AWS EFS 适用于频繁更新的关键小文件

ruby-on-rails - Rails FasterCSV "unquoted fields do not allow\r or\n"

ruby-on-rails - 如何修复 ngrok 权限被拒绝?

ruby-on-rails - 具有两个数据库的支持团队的 Rails 应用程序

javascript - 预编译后 Jquery 不工作

amazon-web-services - 从 AWS S3 中删除不完整的分段上传文件