0

私は自分のサイトで画像の最適化を行っていました。開発マシンでは問題なく動作していますが、本番モードではエラーが発生します。

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
4

2 に答える 2

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)
于 2012-08-15T20:12:33.333 に答える
-1

ActionView::Template::Errorビュー内で発生したエラーになる傾向があります(Railsはビュー内のエラーを再ラップしますActionView::Template::Error exceptions)。

あなたをもっと助けるために、私はバックトレースと関連するビューを見る必要があります。

これは実際には答えではありませんが、これが原因を見つけるのに役立つ場合は、それを受け入れることもできます。

于 2012-08-15T14:11:52.763 に答える