ruby on rails-如何根据您所处的环境有条件地在amazonS3上存储文件



我使用的是Paperclip,这段代码和aws-s3 gem一起允许我使用AmazonS3:存储上传的文件

has_attached_file :photo,
  :styles => {
    :tiny => "25x25#",
    :shown => "40x40#",
    :thumbnail => "50x50#",
    :small  => "150x150>",
    :medium => "300x300>" },
    :default_url => "/images/default_:style.jpg",
    :storage => :s3, 
    :s3_credentials => "#{RAILS_ROOT}/config/s3.yml",
    :path => "profile/:attachment/:style/:id.:extension"

然而,当我处于开发环境中时,我不想在AmazonS3上存储文件。如何在我的应用程序中设置?

你可能会做一些类似的事情

:storage => Rails.env.production? ? :s3 : :whatever

在环境的尽头.rb:

APP_CONFIG = YAML.load_file("#{Rails.root.to_s}/config/config.yml")[Rails.env]

在config/config.yml:中

development:
  use_amazon: false
test:
  use_amazon: false
production:
  use_amazon: true

在你的控制器中:

if APP_CONFIG['use_amazon']
   #USING AMAZON S3
else
   #USING SOMETHING ELSE
end

这应该行得通。祝你好运

相关内容

  • 没有找到相关文章

最新更新