2012-01-04 47 views
0

我有一系列不同的模型,每個模型都與Properties模型共享一個多態關聯。我正在嘗試編寫一個mixin來幹這個代碼,但它們不起作用,請您提供一些調試幫助。我的mixin看起來像這樣...Mixin在Rails 3.1中定義模型關聯

module ModelWithProperties 
    def self.included?(base) 
     base.class_eval do 
      has_many :properties, :as=>:parent 
     end 
    end 

    def examplesharedfunction 
     /// stuff here 
    end 
end 

然後我的模型看起來像這樣...

class Myobjects < ActiveRecord::Base 
    include ModelWithProperties 
end 

當我跑這一切,不過,聯想似乎已經採取('未定義方法「性的判定」爲#can訪問examplesharedfunction。

任何線索/提示嗎?

回答

4

當包括模塊被調用的鉤子是self.included並不self.included?

你也可以使用ActiveSupport::Concern

module M 
    extend ActiveSupport::Concern 

    included do 
    has_many :properties, :as=>:parent 
    end 
end 
+0

輝煌 - 即做到了。助教。 – user1129657 2012-01-04 13:25:43