使用回形针,雾和机架空间上传图像

时间:2014-04-24 08:52:14

标签: ruby-on-rails paperclip fog rackspace

我需要使用雾和上传徽标图像到rackspace纸夹。

Paperclip::Attachment.default_options.update({
  :path => "images/:class/:id/:attachment/:style/img_:fingerprint",
  :storage => :fog,
  :fog_credentials => {
  :provider           => 'Rackspace',
  :rackspace_username => 'blablabla',
  :rackspace_api_key  => 'blablabla',
  :persistent => false
},
:fog_directory => 'blablabla',
:fog_public => true,
:fog_host => 'http://blablabla.rackcdn.com'
})

我在config / initializers / paperclip_defaults.rb中有这个设置

但是如何初始化徽标以捕获这些设置。请帮助我,我在这里感到困惑。

1 个答案:

答案 0 :(得分:3)

您不需要将徽标初始化为" catch"那些设置

让我解释它是如何运作的:

  

Paperclip只是在您的数据库中创建一个条目,并将您的文件存储在Rackspace上。使用paperclip访问该文件只是确保paperclip能够正确加载RackSpace网址

我会这样做:

#config/application.rb
config.paperclip_defaults = {
    styles: { :medium => "x500", :thumb => "x200" },
    default_url: "placeholder.png"
}

#config/environments/production.rb
Paperclip::Attachment.default_options.merge!({
     :path => "images/:class/:id/:attachment/:style/img_:fingerprint",
     :storage => :fog,
     :fog_credentials => {
        :provider           => 'Rackspace',
        :rackspace_username => 'blablabla',
        :rackspace_api_key  => 'blablabla',
        :persistent => false
     },
     :fog_directory => 'blablabla',
     :fog_public => true,
     :fog_host => 'http://blablabla.rackcdn.com'
})

这允许您在生产模式下上传到Rackspace。您不需要更改模型,并会像这样调用paperclip个对象:

@model.image.url #-> yields rackspace URL

如果您需要更多帮助/清晰度,请告诉我们。我刚刚使用了您的Rackspace代码&从初始化程序移动到配置文件