2016-06-16 58 views
1
module ServiceBackupable::AWS 
    store_accessor :data, :last_backup_at 
    def backup 
    ... 
    end 
end 

$ ServiceBackupableを含むモジュール:: AWSこれを解決するためにstore_accessorに

NoMethodError: undefined method `store_accessor' for ServiceBackupable::AWS:Module 

を作成する

module ServiceBackupable::AWS 
    include ActiveRecord::Store 
    store_accessor :data, :last_backup_at 
    def backup 
    ... 
    end 
end 

$ ServiceBackupable :: AWS

NoMethodError: undefined method `class_attribute' for ServiceBackupable::AWS:Module 
    from /home/project/.gem/ruby/2.1.0/gems/activerecord-4.1.1/lib/active_record/store.rb:69:in `block in <module:Store>' 
のActiveRecord ::ストアが含まれています

モジュールを作成するにはどうすればいいですかatには店舗のアクセサリーがありますか?

答えて

0

あなたのコードによれば、モジュールServiceBackupable::AWSはmixin(つまり、他のクラス/モジュールに含まれている)として使用されることを前提としています。その場合、モジュールをActiveRecord::Concernにすることができます。

module ServiceBackupable::AWS 
    extend ActiveSuport::Concern 
    include ActiveRecord::Store 

    included do 
    store_accessor :data, :last_backup_at 
    end 
end 

方法store_accessorの評価は、このモジュールを含むクラス(直接的または間接的に)の定義まで、ないこのモジュール自体に延期されることに注意してください。

関連する問題