【发布时间】:2011-12-16 19:30:33
【问题描述】:
我有一个 rails 3.1 应用程序,它将图像存储在 postgresql 数据库中的二进制字段中(我知道在数据库中存储图像的潜在问题,但现在必须这样做)。在 OSX 上的开发模式和规范中,一切都在本地运行良好,但部署到 Heroku 的应用程序中的所有图像都损坏了。我已经通过将我的本地计算机指向 heroku 实例使用的同一个数据库来验证数据库中的数据是正确的,并且所有图像都正确显示。
所以,问题似乎在于 ActiveRecord(在 Heroku 上运行)从数据库加载数据。我也猜这是一个编码问题。在本地运行 rails 控制台我可以验证这些字段的字节大小是否正确,但在 Heroku 上运行 rails 控制台会显示不正确的字节大小。实际上,通过 Heroku 上的 ActiveRecord 加载 N 字节文件会导致所有文件的字节大小为 2N+1。
非常感谢任何帮助。
【问题讨论】:
-
列类型是什么?
-
:rails 中的二进制文件,postgres 中的 bytea。
标签: ruby-on-rails postgresql activerecord encoding rails-activerecord