ruby - 带有 sinatra 的 Heroku 没有 RAILS_ROOT 或 Rail.root

标签 ruby ruby-on-rails-3 heroku sinatra

我正在尝试将文件上传到 amazon s3,显然我必须先写入一个临时文件,然后再上传该文件。但是我无法弄清楚如何使用 Sinatra 和 heroku 做到这一点,因为它找不到“#{RAILS_ROOT}”或#{Rail.root} 如何使用 heroku 将临时文件上传到 sinatra。

谢谢

最佳答案

我假设您已经阅读了 Heroku 的 Uploading to S3 文档. Heroku 上的临时目录路径是 ./tmp。如果您运行的是 Sinatra,Heroku 可能不会创建与 Rails 相关的环境变量(尽管我不确定是否可能)。 Here是关于 Heroku 文件系统的更多信息。

编辑:在 Sinatra 中,您可以通过 settings.root 获取根目录,类似于 RAILS_ROOT

关于ruby - 带有 sinatra 的 Heroku 没有 RAILS_ROOT 或 Rail.root,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8946284/

相关文章:

ruby-on-rails - Ruby - 生成逗号分隔数组的数组

ruby-on-rails - 带有 reject_if 的 accepts_nested_attributes_for 的自定义属性版本

ruby-on-rails - 如果我使用的是 Heroku,是否可以使用 Chef?

"timer"句型的正则捕获组

ruby - 有没有办法在 Rails 中模拟/ stub "puts"

ruby-on-rails - ruby rails : How can I add a css file with rails project?

ruby-on-rails - 安装mysql gem时出错

ruby-on-rails - 在 fields_for 循环中获取对象字段的值

heroku - 配置在Heroku上使用的Spring TextEncryptor的正确方法是什么

ruby-on-rails - Heroku 忽略最近的迁移