ruby-on-rails - 使用回形针、雾和机架空间上传图像

标签 ruby-on-rails paperclip fog rackspace

我需要使用雾和回形针将 Logo 图像上传到机架空间。

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 中有此设置

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

最佳答案

您无需初始化 Logo 即可“捕捉”这些设置

让我解释一下它是如何工作的:

Paperclip simply creates an entry into your db, and stores your file on Rackspace. Accessing the file, with paperclip will simply be a case of ensuring paperclip is able to load the RackSpace URL correctly

我会这样做:

#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 代码并从初始化程序移至您的配置文件

关于ruby-on-rails - 使用回形针、雾和机架空间上传图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23264167/

相关文章:

ruby-on-rails - 有谁知道如何正确处理 rails 2.3 中的用户时区?

ruby-on-rails - rails 3 与回形针和多个模型的多态关联

Ruby - 使用 fog 在现有 s3 文件的末尾追加内容

ruby-on-rails - 帮助 Bundler 弄清楚为什么它是 "downgraded"我的 gem 之一

ruby-on-rails - 无法将自定义字段添加到 Ruby on Rails 中的 Devise 模型。私有(private)方法错误

ruby-on-rails - Rails 命名空间路由和资源上的自定义操作

ruby-on-rails - 一个活泼的 Ubuntu + Rails 服务器的建议

ruby-on-rails - 仅显示用户上传的照片(如果 Rails 中存在)

ajax - 如何异步上传图片

ruby-on-rails - 无法使用 Rails 中的 Fog 将照片上传到 S3 : !! #<Excon::Errors::SocketError: 错误地址>