rails回形针默认图像与S3

时间:2009-11-23 04:40:31

标签: ruby-on-rails amazon-s3 storage paperclip

我正在尝试在我的应用程序中使用default_url,但我使用S3存储图像。我不确定我需要在那里放置什么网址,或者我是否必须创建一个假图像以便将所有内容都放在那里。

由于我的图像总是通过S3呈现,我不知道如果我只是在我的公共文件夹中放入一些默认图像它是否会起作用。它现在似乎没有工作 - 我也只有一个图像,我知道它必须调整大小。我可以手动将调整大小的图像放在那里,但我仍然不确定默认使用哪个URL。请帮助:)

2 个答案:

答案 0 :(得分:22)

我在公共文件夹中使用带有S3的回形针和默认图像。它工作正常。我的default_url语句如下所示:

:default_url => '/images/:attachment/missing_:style.png'

这意味着对于我的名为avatar的附件,使用大小的样式进行设置,我必须创建并将这些图像放在公共目录中:

  • /images/avatar/missing_small.png
  • /images/avatar/missing_large.png

这是pretty well documented

供您参考,或者如果问题确实存在于其他地方,请参阅我的完整回形针声明:

has_attached_file :avatar,
  :styles => { :small => '60x60#', :large => '300x300#' }, :default_style => :large,
  :storage => :s3,
  :default_url => '/images/:attachment/missing_:style.png',
  :path => "users/:id/avatar/:style.:extension",
  :bucket => "bucket name",
  :s3_credentials => {
    :access_key_id => "access key id",
    :secret_access_key => "secret access key"
  },
  :url => ":s3_alias_url", # These two are only required when you alias S3 - e.g. want to use cdn.example.com rather than s3.amazonaws.com
  :s3_host_alias => "my.aws.alias" 

答案 1 :(得分:4)

试试这个: :default_url => ActionController::Base.helpers.asset_path('missing.png')