Ruby on rails 3 如何仅在生产中使用带托架的雾
我在Rails应用程序中使用Heroku和S3。我只在生产模式下安装了fog gem,因为我的本地计算机是一堆垃圾。不管怎么说,它以这种方式工作很好,并且已经被证明是比在本地安装fog更好的解决方案,但是现在我必须将上传文件切换到使用localhost,然后再切换回来以做出承诺 如果能够在本地使用文件,然后在生产模式下使用fog,而无需手动来回切换,那就太好了。有人对如何做到这一点有什么建议吗Ruby on rails 3 如何仅在生产中使用带托架的雾,ruby-on-rails-3,heroku,amazon-s3,carrierwave,fog,Ruby On Rails 3,Heroku,Amazon S3,Carrierwave,Fog,我在Rails应用程序中使用Heroku和S3。我只在生产模式下安装了fog gem,因为我的本地计算机是一堆垃圾。不管怎么说,它以这种方式工作很好,并且已经被证明是比在本地安装fog更好的解决方案,但是现在我必须将上传文件切换到使用localhost,然后再切换回来以做出承诺 如果能够在本地使用文件,然后在生产模式下使用fog,而无需手动来回切换,那就太好了。有人对如何做到这一点有什么建议吗 事先非常感谢。这很容易。您必须在配置文件中定义它。但不要在模型中定义存储,因为这会覆盖配置文件中的设置
事先非常感谢。这很容易。您必须在配置文件中定义它。但不要在模型中定义存储,因为这会覆盖配置文件中的设置
# sample config/initializers/carrierwave.rb
CarrierWave.configure do |config|
if Rails.env.development? || Rails.env.test?
config.storage = :file
else
config.fog_credentials = {
:provider => 'AWS',
:aws_access_key_id => 'some_access_key_id',
:aws_secret_access_key => 'some_secret_key',
:region => 'eu-west-1'
}
config.storage = :fog
config.fog_directory = 'bucket_name'
end
end
在当前版本的carrierwave中,您必须将
config.storage
放在config.fog\u凭据之后