ruby-on-rails - 如何在 Rails 中使用回形针以及它在部署中如何工作?

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

我已经完成了 2 个涉及使用回形针上传图像的 Rails 应用程序。我前段时间做的第一个在本地运行良好,但是当我部署到 Heroku 时出现问题;我意识到我需要使用 AWS 来启用图像上传。

我不久前做过那个项目。我最近开始了另一个项目并尝试合并类似的功能。在我尝试部署时使用回形针启用 AWS 之前,我只是想测试如果我尝试上传图像会发生什么。令我惊讶的是,它在没有 AWS 的情况下也能正常工作!我希望了解为什么它第一次不起作用以及为什么它现在起作用了。回形针如何在幕后与 heroku 和 rails 协同工作?

最佳答案

第一个应用程序很可能托管在 legacy Bamboo stack 上, 那有一个 read-only file system .

new Cedar stack ,文件系统不再是只读的,所以上传不会失败。但是,您应该继续使用 AWS 或任何其他外部存储,因为 Heroku 将您编译的应用程序分发到多台机器上,并且不能保证图像在另一个请求中可见。他们称之为ephemeral filesystem .

换句话说,使用 Bamboo 堆栈很容易理解您无法在文件系统上存储文件,因为您正在经历立即崩溃。使用 Cedar 上传成功,但上传的图像将在未来的任何时候不可用。

这个故事的寓意是:你应该继续使用 AWS 或 Heroku 文件系统之外的任何其他存储

关于ruby-on-rails - 如何在 Rails 中使用回形针以及它在部署中如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20523949/

相关文章:

javascript - Rails 将生成的 js 参数从表单传递到 Controller

ruby - 在鞋中使用 Watir( ruby )

javascript - 使用解析服务器和 Heroku 调度程序的后台作业

heroku - 在 Heroku 上运行 Dart 应用

ruby-on-rails - rails : FATAL: Password Authentication Failed For User

ruby-on-rails - 适用于 Ruby 的 PayPal REST SDK - 非全局配置

ruby-on-rails - 在 Rails 索引 View 中显示选定的名称而不是 ID

ruby-on-rails-3 - 部署到 Heroku 的 Rails 项目 : Could not find activemodel

ruby-on-rails - application.html.erb 仍未呈现

ruby-on-rails - Ruby 1.9 Base64 编码写入文件错误