ペーパークリップとレールを使用してアップロードする画像のパスを変更する方法を教えてください。パスをバケツのgov_idフォルダの中に入れて、画像がサブフォルダなしでそのまま残ります。そして、また、どのようにこの形式に従って画像のURLを作成するには:Amazon S3でアップロードした画像のパスをPaperClip in Railsで変更します
class Attachment < ApplicationRecord
belongs_to :attachable, polymorphic: true
has_attached_file :image, :styles => {:thumb => "200x200#"},
:storage => :s3,
validates_attachment :image, content_type: { content_type: ["image/jpg", "image/jpeg", "image/png"] }
validates_attachment :image, presence: true
before_save :rename_file
def rename_file
extension = File.extname(image_file_name).gsub(/^\.+/, '')
new_image_file_name = "gov_#{self.attachable.reference_code}.#{extension}"
image.instance_write(:file_name, new_image_file_name)
end
end
:私はこのようになります添付モデルを持って、私は私のバケット内gov_idフォルダを持っている
:「https://s3-ap-southeast-1.amazonaws.com/BUCKET_NAME/GOV_ID/IMAGE_NAME.EXTENSION」 注意バケットにアップロードされた画像は保存されますが、gov_idフォルダには保存されません。添付ファイル/ images/000/000/013/originalに行きます URLは「s3-ap-southeast-1.amazonaws.com/BUCKET_NAME/attachments/images/000/000/013/original/gov_UG2S463C.png」になります。 1500620951