ActionView :: Template :: Error(不能复制符号): - 仅在图像质量下降的情况下与AWS一起出现问题

时间:2012-08-15 13:19:22

标签: ruby-on-rails amazon-s3 amazon-web-services paperclip

我在我的网站上进行了一些图像优化。事情在开发机器上工作得很棒,但在生产模式下我遇到了错误,即:

ActionView::Template::Error (can't dup Symbol):

仅在aws的情况下才会发生这种情况,如果我将其移除,那么事情就会完美无缺:

我正在使用的代码并且工作正常:

  has_attached_file :attachment, {
             :styles => { 
                 :medium=>"654x346>",
                 :small => "260x400>",
                 :thumb => "75x75#",
                 :facebook_meta_tag => "200x200#" 
                 }, :include_updated_timestamp => false
             }.merge(PAPERCLIP_STORAGE_OPTIONS)

但现在我对此进行了修改,并且它在开发环境中工作得很好,但却没有在生产环境中工作。

has_attached_file :attachment,
   :styles => {
     :medium => {
       :geometry => "654x346>",
       :quality => 60,
       :format => 'JPG'
     },
     :small => {
       :geometry => "260x400>",
       :quality => 60,
       :format => 'JPG'
     },
     :thumb => {
       :geometry =>"75x75#",
       :quality => 60,
       :format => 'JPG'
     },
     :facebook_meta_tag => {
       :geometry =>"200x200#",
       :quality => 50,
       :format => 'JPG'
     }
     }.merge(PAPERCLIP_STORAGE_OPTIONS)

其他相关设置:

 PAPERCLIP_STORAGE_OPTIONS = {
      :storage => :s3, 
      :s3_credentials => "#{Rails.root}/config/amazons3.yml",
}

amazons3.yml

production:
   access_key_id: XXXXxxxXXXXxxx
   secret_access_key: XXXXxxxXXXXxxxXXXXxxxXXXXxxxXXXXxxxXXXXxxx
   bucket: images.XXXXxxx.com

2 个答案:

答案 0 :(得分:1)

以下是工作代码:

  has_attached_file :attachment, {
       :styles => {
         :medium => ["654x346>", :jpg],
         :small => ["260x400>", :jpg], 
         :thumb => ["75x75#", :jpg],
         :facebook_meta_tag =>["200x200#", :jpg] 
         }, 
          :convert_options => {
             :medium => "-quality 60",
             :small => "-quality 60",
             :thumb => "-quality 60",
             :facebook_meta_tag => "-quality 60" 
             } 
          }.merge(PAPERCLIP_STORAGE_OPTIONS)

答案 1 :(得分:-1)

ActionView::Template::Error往往是视图内部引发的错误(Rails重新包装ActionView::Template::Error exceptions内部视图内的错误。)

为了帮助您,我需要查看回溯和所涉及的视图。

这不是一个真正的答案,但如果这有助于你找到原因,你也可以接受它。