0
RubyアプリケーションでAWS-S3を使用することはできません。 S3 Bucketにファイルをアップロードすることはできますが、どのように表示するのですか?私はこれをユーザープロファイルのアバターに使用しているので、ユーザーは自分のアバターをアップロードできます。私は私のアバターは、私はアバターの情報を持っているところであるプロファイルモデルの情報をアップロードする場所をしましたRubyアプリケーションでAWS S3画像をPaperclipで表示
<%= image_tag @user.profile.avatar.url, class: 'user-show-avatar' %>
:
はここに私の現在の画像タグです。
profile.rb
class Profile < ActiveRecord::Base
belongs_to :user
has_attached_file :avatar,
:styles => { :medium => "460x>", :thumb => "100x100>",:vnice=> "400x" },
:storage => :s3,
:bucket => 'mybucket',
:s3_credentials => "#{Rails.root}/config/aws.yml",
:path => "resources/:id/:style/:basename.:extension"
validates_attachment_content_type :avatar, content_type: /\Aimage\/.*\Z/
end
_form.html.erb(編集・プロファイル・フォーム)
<%= form_for @profile, url: user_profile_path, :html => { :multipart => true } do |f| %>
<div class="form-group">
<%= f.label :avatar %>
<%= f.file_field :avatar, class: 'form-control' %>
</div>
<% end %>
設定/初期化/ paperclip.rb
Paperclip::Attachment.default_options[:storage] = :s3
Paperclip::Attachment.default_options[:s3_credentials] = {
:bucket => ENV['AWS_BUCKET'],
:access_key_id => ENV['AWS_KEY'],
:secret_access_key => ENV['AWS_SECRET_KEY'],
s3_region: 'us-east-1'
}
Paperclip::Attachment.default_options[:s3_options] = {
endpoint: 'https://objects-us-east-1.io'
}
Paperclip::Attachment.default_options[:url] = ':s3_domain_url'
Paperclip::Attachment.default_options[:path] = '/:class/:attachment/:id_partition/:style/:filename'
Paperclip::Attachment.default_options[:s3_host_name] = 'objects-us-east-1'
Paperclip::Attachment.default_options[:s3_protocol] = 'https'
私が間違って何をやっています? RubyでS3からクリップを使ってイメージを表示する適切な方法は何ですか?