0

私はペーパークリップを使用してS3に保存されたモデルを持っていました。 paperclip.rbでPaperclip - 別のモデルの別のS3 URLにアップロード

bucket_name = (Rails.env != 'production') ? "mcds_staging_fulltext" : 'mcds_fulltext' 
Paperclip::Attachment.default_options.merge!({ 
    storage: :s3, 
    s3_credentials: { 
    bucket: bucket_name 
}, 
url: "#{CUSTOMER}/static_cover_images/:style/:basename.:extension", 
path: "#{CUSTOMER}/static_cover_images/:style/:basename.:extension" 
}) 

model1.rb

has_attached_file :cover_image, styles: { :original => ["100%"], :thumbnail => ["100*100", :png] } 
    validates_attachment_content_type :cover_image, content_type: /\Aimage\/.*\Z/, message: 'Invalid Content Type. Please upload jpg/jpeg/png/gif' 
    validates_attachment_size :cover_image, :in => 0.megabytes..5.megabytes, :message => 'must be smaller than 5 MB' 

これはpoperly動作し、正しい場所にS3に私の画像を保存します。

今、別のS3の場所にクリップクリップの添付ファイルをアップロードする必要がある別のモデルがあります。

model2.rbで

has_attached_file :xslt 
Paperclip::Attachment.default_options.merge!({url: "#{CUSTOMER}/xslts/:style/:basename.:extension"}) 
validates_attachment_content_type :xslt, content_type: "application/xslt+xml", message: 'Invalid Content Type. Please upload jpg/jpeg/png/gif' 
validates_attachment_size :xslt, :in => 0.megabytes..5.megabytes, :message => 'must be smaller than 5 MB' 

が、この添付ファイルはまだMODEL2で指定されたURLの私のMODEL1 S3としないように保存します。

私は間違っていますか?

答えて

0

paper_clip.rbファイルを完全に削除し、それぞれのモデルでpaper_clip設定を追加しました。

MODEL1:

has_attached_file :file1, 
storage: :s3, 
s3_credentials: { 
bucket: bucket_name 
}, 
url: "#{CUSTOMER}/cover_images/:style/:basename.:extension", 
path: "#{CUSTOMER}/cover_images/:style/:basename.:extension" 

MODEL2:

has_attached_file :file2, 
storage: :s3, 
s3_credentials: { 
bucket: bucket_name 
}, 
url: "#{CUSTOMER}/file2_folder/:style/:basename.:extension", 
path: "#{CUSTOMER}/file2_folder/:style/:basename.:extension" 

この店舗theattachment正しくdifferen S3フォルダインチ

関連する問題