【发布时间】:2014-01-31 03:30:57
【问题描述】:
我正在尝试将头像上传给用户,它正在开发中工作,但不在生产中
Rails4、Heroku、S3、回形针、设计
在开发中一切正常。当我推送到 Heroku,运行 Heroku migrate 并尝试使用附件(:avatar)图像更新设计用户页面时,它会返回缺少的图像 url。
在 heroku logs --tail 中,它似乎运行正常,甚至将图像保存到 S3(我检查过,它们保存在我的 S3 存储桶中)。此外,如果我拉 pg 数据库,我可以看到数据库中与附件图像关联的列(4 列)。在生产中,当我检查数据库时,附件文件列是空的,所以它们没有任何内容,但它们存储在 S3 中。
这有点奇怪?我以为 Paperclip Docs 说它将保存到数据库并在发送到服务器之前运行验证。
我的表格
我的观点(index.html.erb)
<%= image_tag post.user.avatar.url(:thumb) %>
这是我成功保存到 S3 后的日志(heroku logs --tail)
如果我检查数据库,附件的列仍然是nil
让我感到困惑的是,这在开发中有效,但在生产中无效,并且似乎与 S3 错误没有任何关系。
我做错了什么??
【问题讨论】:
-
澄清一下,当您说生产数据库列为空时 - 您的意思是空白还是它们不是在表的架构中创建的?
-
它们在模式中并且在开发中正常工作。如果我从 heroku 中提取生产数据库,它们是 nil。
-
好的,您能否发布将这些列添加到数据库的迁移文件?以确认它们是正确的。应该像:add_column :users, :avatar_file_name, :string ...