gpt4 book ai didi

ruby-on-rails - Paperclip w/Imagemagick、Amazon S3 和 Heroku - Imagemagick 和 S3 工作,但 Paperclip 字段未在数据库中设置。在开发中工作正常

转载 作者:行者123 更新时间:2023-12-04 05:50:50 25 4
gpt4 key购买 nike

我在我的应用程序中使用 Paperclip 和 Imagemagick,使用 Amazon S3 进行存储。在开发中一切正常。但在 Heroku 的生产环境中,它无法正常工作。

图像被上传到 Amazon S3,缩略图创建工作正常,因此 Paperclip、Imagemagick 和 S3 组合的一部分工作正常。但由于某种原因,Paperclip 特定模型字段未被填充:

imagestore_file_name: 
imagestore_content_type:
imagestore_file_size:
imagestore_updated_at:

在开发中,这些都得到了填充,但在 Heroku 的生产中没有。当我尝试在生产应用程序 (Heroku) 中显示图像时,它说它丢失了,即使它肯定存在于 S3 中。是什么导致了这个错误?感谢阅读。

详细信息:

ruby 1.8.7
Rails 3.0.1
Stack: bamboo-mri-1.9.2

编辑:

这是类。 Image 类扩展了 Media,后者扩展了 ActiveRecord::Base。

class Image < Media

attr_accessor :imagestore_file_name
attr_accessor :imagestore_content_type
attr_accessor :imagestore_file_size
attr_accessor :imagestore_updated_at


has_attached_file :imagestore,
:storage => :s3,
:s3_credentials => "#{RAILS_ROOT}/config/amazon_s3.yml",
:path => "/:style/:filename",
:styles => { :medium => "800", :thumb => "150" }


end

这是相关的 Heroku 日志(我认为,有时在 Heroku 上很难分辨)

Parameters: {"authenticity_token"=>"a9+UnIlVH5HRetoN45IlGlGYoeEkpqQ1Qskpe4EGuHw=", "media_input"=>"", "imagestore"=>#<File:/home/slugs/44ca6411-6e76-4e7d-8239-a956dc3979c0/mnt/tmp/RackMultipart20110110-17158-10fuv0p>, "type"=>"uber", "name"=>"Star Wars", "detail"=>""}
[paperclip] identify -format %wx%h '/home/slugs/44ca6411-6e76-4e7d-8239-a956dc3979c0/mnt/tmp/stream20110110-17158-1uyk3if.jpg[0]' 2>/dev/null
[paperclip] convert '/home/slugs/44ca6411-6e76-4e7d-8239-a956dc3979c0/mnt/tmp/stream20110110-17158-1uyk3if.jpg[0]' -resize "800" '/home/slugs/44ca6411-6e76-4e7d-8239-a956dc3979c0/mnt/tmp/stream20110110-17158-1uyk3if20110110-17158-ta9egy' 2>/dev/null
[paperclip] identify -format %wx%h '/home/slugs/44ca6411-6e76-4e7d-8239-a956dc3979c0/mnt/tmp/stream20110110-17158-1uyk3if.jpg[0]' 2>/dev/null
[paperclip] convert '/home/slugs/44ca6411-6e76-4e7d-8239-a956dc3979c0/mnt/tmp/stream20110110-17158-1uyk3if.jpg[0]' -resize "150" '/home/slugs/44ca6411-6e76-4e7d-8239-a956dc3979c0/mnt/tmp/stream20110110-17158-1uyk3if20110110-17158-13448fs' 2>/dev/null
[paperclip] Saving attachments.
[paperclip] saving /original/starWarsart2.jpg
[paperclip] saving /medium/starWarsart2.jpg
[paperclip] saving /thumb/starWarsart2.jpg
[paperclip] Saving attachments.
Redirected to !!my site url is here!!
Completed 302 Found in 1029ms

以下是创建的图像记录中的相关字段:

  imagestore_file_name: 
imagestore_content_type:
imagestore_file_size:
imagestore_updated_at:

在开发中,这些字段有数据,我可以加载图像。但不在生产中。感谢您的帮助。

最佳答案

我认为问题在于您为回形针属性指定了 attr_accessor。那是不需要的。当我将这些线添加到我的模型时,我实际上遇到了与您相同的问题。所以删除这些行应该就足够了。

关于ruby-on-rails - Paperclip w/Imagemagick、Amazon S3 和 Heroku - Imagemagick 和 S3 工作,但 Paperclip 字段未在数据库中设置。在开发中工作正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4654111/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com