1
私は自分のアプリケーションのファイルアップロードを処理するためにPaperclipを使用しています。私はファイルのcontent-type
に基づいてファイルのパスを変更できるようにする必要があります。ラムダでこれを行うと、私はstack level too deep
エラーを受け取ります。Paperclipを使用してコンテンツタイプに基づいてアップロードされたファイルのパスを変更します。
has_attached_file :file, :storage => :s3,
path: lambda { |a| a.instance.determine_path_for_content },
:s3_credentials => {
:bucket => 'myBucket',
:access_key_id => ENV['AWS_ACCESS_KEY'],
:secret_access_key => ENV['AWS_SECRET_ACCESS_KEY']
}
def determine_path_for_content
if file.instance.file_content_type == "video/mp4"
"/:name/:event:event_id/:basename_time_:start_mp4_at_end_time:fingerprint.:extension"
else
"/:name/:event:event_id/:basename_:fingerprint.:extension"
end
end