Paperclip模型未正确初始化 - 资产URL指向文件系统而不是S3

时间:2011-11-30 20:13:47

标签: ruby-on-rails ruby-on-rails-3 paperclip

我有一个奇怪的问题。我刚刚从2.3.10升级到rails 3.0.10并使用最新的Paperclip gem

问题是,在Rails启动或控制台中,似乎忽略了存储S3选项。 我得到了网址

ruby-1.9.3-p0 :006 > p.asset.url
"/system/assets/116/original/DSC07568.jpg?1270933446"

我重新加载后!在控制台中,网址是正确的

ruby-1.9.3-p0 :006 > reload!
ruby-1.9.3-p0 :006 > p = Photo.last
ruby-1.9.3-p0 :006 > p.asset.url
"http://development-assets0.domain.com/development/asse/116/original_DSC07568.jpg?1270933446"

我的模型声明

 has_attached_file :asset,
  :styles => {
  :original => "1024x1024>",
  :medium => "267x267>",
  :thumb=> "100x100#",
  :small => "150x150>"
 },
 :storage => :s3,
 :s3_credentials => "#{Rails.root}/config/s3.yml",
 :bucket => BUCKET_NAME,
 :path => ":rails_env/asset/:id/:style_:basename.:extension",
 #:url => ":rails_env/asset/:id/:style_:basename.:extension",
 :url => ':s3_alias_url',
 :default_url => "/images/processing.png",
 :processors => :thumbnail,
 :s3_host_alias => "#{Rails.env}-assets0.domain.com"

与此同时,我试图在没有运气的情况下删除大部分其他宝石。

1 个答案:

答案 0 :(得分:0)

解决了再次将paperclip安装为插件并在Gemfile中仍然需要它的问题

rails plugin install https://github.com/thoughtbot/paperclip.git

并将其添加到Gemfile

gem 'paperclip', :gem => https://github.com/thoughtbot/paperclip.git