0

我创建了一个 ActiveSupport::Concern,并在 ClassMethods 方法中从 Carrierwave 调用 mount_uploader 方法

/lib/my_concern.rb

require 'active_support/concern'

module MyConcern
  extend ActiveSupport::Concern 

  included do
  end 

  module ClassMethods
    def cover_image
      attr_accessible :cover_image
      mount_uploader :cover_image, "CoverImageUploader"
    end
end

ActiveRecord::Base.send(:include, MyConcern)

/app/models/my_model.rb

class MyModel < ActiveRecord::Base  
  cover_image
end

一切正常,直到我在调用该方法的类中更改某些内容(我的意思是任何内容),然后我给了我:

undefined method `cover_image_url' for #<MyModel:0x007fa0b043dbb0>

我相信与它如何加载这些方法有关。

Ps:我在我的开发环境中使用 Thin,每次都给我错误,然后我重新启动服务器,它就会恢复工作。

4

0 回答 0