我的应用程序似乎在使用fog/aws创业板和载波wiki中的指令时在启动时抛出了一个错误。
我只是想上传到亚马逊S3。
正在抛出的错误是
undefined method `fog_provider=' for CarrierWave::Uploader::Base:Class
Gemfile.rb
gem "fog"
gem "fog-aws"
gem "carrierwave"
初始化器/载波。
CarrierWave.configure do |config|
config.permissions = 0666
config.directory_permissions = 0777
config.storage = :fog
config.fog_provider = 'fog/aws'
config.fog_credentials = {
provider: 'AWS',
aws_access_key_id: 'KEYID',
aws_secret_access_key: 'SECRETID',
region: 'us-east-1'
}
config.fog_directory = 'bucket-name'
config.fog_public = false
end
发布于 2016-02-04 13:51:48
试试这个.
你的initializers/carrierwave.rb看起来像这样。
CarrierWave.configure do |config|
config.fog_credentials = {
:provider => 'AWS', # required
:aws_access_key_id => 'xxx', # required
:aws_secret_access_key => 'yyy', # required
:region => 'eu-west-1', # optional, defaults to 'us-east-1'
:host => 's3.example.com', # optional, defaults to nil
:endpoint => 'https://s3.example.com:8080' # optional, defaults to nil
}
config.fog_directory = 'name_of_directory' # required
config.fog_public = false # optional, defaults to true
config.fog_attributes = {'Cache-Control'=>'max-age=315576000'} # optional, defaults to {}
end
在上传器中,将存储设置为:fog
class AvatarUploader < CarrierWave::Uploader::Base
storage :fog
end
发布于 2016-02-04 13:41:01
CarrierWave::Uploader::Base:Class#fog_provider=
还没有发布。它只能在CarrierWave master
分支中使用。
解决方案1(使用母版):
将Gemfile
条目更改为
gem "carrierwave", git: "git@github.com:carrierwaveuploader/carrierwave.git"
但这是不推荐的,因为它不像发行版那么稳定。
解决方案2(查看0.10文档):
在0.10
中,使用fog_credentials=
设置:provider
CarrierWave.configure do |config|
config.fog_credentials = {
:provider => 'AWS', # required
:aws_access_key_id => 'xxx', # required
:aws_secret_access_key => 'yyy', # required
:region => 'eu-west-1', # optional, defaults to 'us-east-1'
:host => 's3.example.com', # optional, defaults to nil
:endpoint => 'https://s3.example.com:8080' # optional, defaults to nil
}
config.fog_directory = 'name_of_directory' # required
config.fog_public = false # optional, defaults to true
config.fog_attributes = {'Cache-Control'=>'max-age=315576000'} # optional, defaults to {}
end
查看v0.10这里的文档。
https://stackoverflow.com/questions/35201617
复制相似问题