Paperclip在更新后突然抛出一个奇怪的错误

AKW*_*KWF 3 ruby-on-rails paperclip ruby-on-rails-3.2

我无法再在我的Rails应用程序中使用paperclip url呈现页面.我最近更新了我的宝石包.我正在使用Rails 3.2.8和Paperclip 3.1.4.我之前使用的是Paperclip 2.7.0.

我视图中失败的链接是:

ad.image.url(:medium)
Run Code Online (Sandbox Code Playgroud)

我的广告模型包含以下声明:

Paperclip.interpolates :ad_subdomain do |attachment, style|
  attachment.instance.brand.subdomain
end

has_attached_file :image, 
                :default_url => '/images/blank.gif',
                :styles => { :medium => ["290x230>","jpg"],
                             :thumb => ["100x100>","jpg"] },
                :storage => :file,
                :path => "/mcp/ads/:style/:ad_subdomain/:basename.:extension"
Run Code Online (Sandbox Code Playgroud)

抛出的错误是:

TypeError: wrong argument type Class (expected Module)
from /Users/me/.rvm/gems/ruby-1.9.3-p0@mcp5/gems/paperclip-3.1.4/lib/paperclip/attachment.rb:368:in `extend'
from /Users/me/.rvm/gems/ruby-1.9.3-p0@mcp5/gems/paperclip-3.1.4/lib/paperclip/attachment.rb:368:in `initialize_storage'
from /Users/me/.rvm/gems/ruby-1.9.3-p0@mcp5/gems/paperclip-3.1.4/lib/paperclip/attachment.rb:80:in `initialize'
from /Users/me/.rvm/gems/ruby-1.9.3-p0@mcp5/gems/paperclip-3.1.4/lib/paperclip/instance_methods.rb:5:in `new'
from /Users/me/.rvm/gems/ruby-1.9.3-p0@mcp5/gems/paperclip-3.1.4/lib/paperclip/instance_methods.rb:5:in `attachment_for'
from /Users/me/.rvm/gems/ruby-1.9.3-p0@mcp5/gems/paperclip-3.1.4/lib/paperclip.rb:191:in `block in has_attached_file'
Run Code Online (Sandbox Code Playgroud)

AKW*_*KWF 14

出于某种原因,我有:

:storage => :file
Run Code Online (Sandbox Code Playgroud)

在我的声明中.这不起作用.如果你想使用文件系统,你只需完全省略存储行,它将是默认的.