 <p>When Ruby loads the file containing your module <code>B</code> and reaches the <code>acts_as_taggable</code> line, it will try to execute the <code>acts_as_taggable</code> class method of <code>ClassMethods</code> (which doesn't exist because it is actually a class method of <code>ActiveRecord::Base</code>).</p> <p>You <em>can</em> use the <code>included</code> method to call <code>acts_as_taggable</code> when your module is included though. <code>included</code> is passed the class the module is being included in, so the following will work:</p> <pre><code>module B def self.included(base) base.acts_as_taggable # ... end # ... end </code></pre>