2011-07-07 26 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'でなければなりません。 –

関連する問題