全体でかける場合はこうですかね。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
# config/initializers/carrierwave.rb
CarrierWave::SanitizedFile.sanitize_regexp = /[^[:word:]\.\-\+]/ # for Japanese
CarrierWave.configure do |config|
config.fog_credentials = {
provider: 'AWS',
aws_access_key_id: ENV[:access_key],
aws_secret_access_key: ENV[:secret],
region: ENV['s3_region']
}
config.fog_public = false
config.fog_directory = Settings.aws['s3_bucket']
config.cache_storage = :fog
config.fog_authenticated_url_expiration = 1.minutes.to_i
end
|
個々のアップローダークラスでかける場合
1
2
3
4
5
|
class ImageUploader < CarrierWave::Uploader::Base
def fog_authenticated_url_expiration
1.minutes.to_i
end
end
|
uploader内ではmodelでモデル側のインスタンスを参照できるのでmodel側の条件で動的に有効期限を変えるとかもできそうですね。