Mongoidと多相関係を含むモジュールを作成しようとしています。簡単な例:私はScalableModel.create
ような何かを実行しようとすると、ActiveSupport :: Concernモジュール内のMongoidの関係
module Scalable
extend ActiveSupport::Concern
included do
references_many :scales, :as => :scalable
before_save :add_scale
end
module InstanceMethods
def add_scale
self.scales.create
end
end
end
class Scale
include Mongoid::Document
referenced_in :scalable, :index => true
end
class ScalableModel
include Mongoid::Document
include Scalable
end
は、しかし、私は次のエラーを取得する:
NoMethodError Exception: undefined method `relations' for Scalable:Module
は、これは不可能ですか、私が何か間違ったことをやっていますか?
非常に、スティーブ、それは完璧に働いてくれてありがとうございます。実際にコールバックを保存する前に、 ':autosave => true'を追加し、' self.scales.create'をコールバックの 'self.scales.build'に変更することで、コールバックを保存することができました。 – geetarista