我正在将应用程序从 Rails 3.1 升级到 3.2,我得到:
NoMethodError (undefined method `write_inheritable_attribute' for #<Class:0x0000010a190dd8>):
app/models/test_file.rb:37:in `<class:TestFile>'
app/models/test_file.rb:1:in `<top (required)>'
app/models/ability.rb:44:in `initialize'
该错误适用于此型号代码:
has_attached_file :logo,
:styles => {:medium => "300x200>", :thumb => "150x60>" },
:storage => :s3,
:s3_credentials => "#{::Rails.root.to_s}/config/s3.yml",
:path => "/logos/:style/:id/:filename"
write_inheritable_attribute
我的应用程序代码中没有任何地方的实例。如果上述内容被删除,则应用程序中类似代码的下一个实例(即使用 Paperclip 的任何地方)都会重复该错误。
# Gemfile
gem 'rmagick'
gem "paperclip", :git => "git://github.com/thoughtbot/paperclip.git"
我认为这个问题可能与 Paperclip 的内部代码有关。你知道这里发生了什么吗?