我正在使用回形针将照片加载到heroku网站。我没有得到任何错误,我的对象已创建,但我没有照片。 我正在使用的宝石版本是:
gem 'paperclip', '~> 4.3', '>= 4.3.6'
gem 'aws-sdk', '< 2.0'
我的配置设置都正确,我在俄勒冈州,所以我将AWS_REGION设置为'us-west-2'。 我相信我的production.rb设置正确,
config.paperclip_defaults = {
storage: :s3,
s3_credentials: {
bucket: ENV.fetch('S3_BUCKET_NAME'),
access_key_id: ENV.fetch('AWS_ACCESS_KEY_ID'),
secret_access_key: ENV.fetch('AWS_SECRET_ACCESS_KEY'),
s3_region: ENV.fetch('AWS_REGION'),
}
}
我的公司模型应该有照片
class Company < ActiveRecord::Base
has_attached_file :logo_image, styles: { medium: "300x300>",
thumb: "100x100>" },
:default_url => ActionController::Base.helpers.asset_path("noimage1.jpg")
在我的heroku日志中:
[paperclip] saving /companies/logo_images/000/000/743/original/baking.jpg
[AWS S3 200 0.218362 0 retries] put_object(:acl=>:public_read,
:bucket_name=>"mybucketname", :content_length=>64071,
:content_type=>"image/jpeg",
:data=>Paperclip::UploadedFileAdapter: baking.jpg,
:key=>"companies/logo_images/000/000/743/original/baking.jpg")
我正在以这种方式将图像渲染到我的展示页面:
<%= image_tag(@company.logo_image.url(:medium)) %>
在我看来,我的照片正在保存到存储桶中,但出于某种原因,它无法呈现给页面。
答案 0 :(得分:0)
我通过在我的production.rb中的config.paperclip_defaults中添加url和path属性来解决它。
url: ":s3_domain_url",
path: ":class/:id.:style.:extension",