2011-07-07 72 views
0

現在我在特定的模型中有這種方法。如何在單獨的模塊中編寫此方法?

self.reflect_on_all_associations(:has_many).each do |association| 
    define_method "#{association.name}?" do 
    self.send(association.name).any? 
    end 
end 

我想在每個模型中使用此方法。我怎樣才能在單獨的模塊中編寫這個方法?

回答

0

未經測試並從內存中,但下面應該工作

module ReflectOnAssocations 
    def included(base) 
     base.reflect_on_all_associations(:has_many).each do |association| 
      define_method "#{association.name}?" do 
       self.send(association.name).any? 
      end 
     end 
    end 
end 
+0

它不工作.. –

+0

你,包括它所有的車型?什麼是錯誤信息? –

+3

該方法應該是'self.included' –