如何在单独的模块中编写此方法?

时间:2011-07-07 07:18:17

标签: ruby-on-rails ruby

现在我在特定模型中使用此方法。

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

我想在每个模型中使用此方法。如何在单独的模块中编写此方法?

1 个答案:

答案 0 :(得分: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