来自seeds.rb的图片不适用于heroku

时间:2015-08-06 09:09:37

标签: ruby-on-rails ruby-on-rails-4 heroku

我有data这样的文件(我使用paperclip gem):

view

当我在本地运行时seeds.rb一切正常(图像正常工作)。

但是当我运行player1 = Player.create( firstname: "John", lastname: "Malkon", nickname: "jonmal", avatar: File.new("#{Rails.root}/public/examples/avatars/1.png")) 时,图像无效。

在html代码中我可以看到:

rake db:seed

但是图像被打破了。

问题是什么(我认为问题与路径有关,但我不知道如何修复它)?

我的图像文件位于heroku run rake db:seed

在浏览器控制台中,我得到:

<img src="/system/players/avatars/000/000/007/medium/7.jpg?1438851753" alt="7">

我应该在哪里放置我的图像文件?

1 个答案:

答案 0 :(得分:4)

我假设paperclip gem从public/examples/avatars/获取您的图片并将其放入public/system/players/avatars/目录。

您无法看到您的图片,因为Heroku文件系统是只读的(/tmp除外),因此您的图片不会保留。

有关此限制的详细信息,请参阅主题here

Uploading Files to S3 in Ruby with Paperclip