# Namespace question

**URL:** <https://www.ruby-forum.com/t/namespace-question/105025>\
**Category:** Rails\
**Created:** [May 25, 2007, 1:19am UTC](https://www.ruby-forum.com/t/namespace-question/105025 "2007-05-25T01:19:37Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![richblunt](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/b5e925/32.png) [@richblunt](https://www.ruby-forum.com/u/richblunt)\
**Post date:** [May 25, 2007, 1:19am UTC](https://www.ruby-forum.com/t/namespace-question/105025/1 "2007-05-25T01:19:37Z")

</div>

In my /lib directory, I have:

/my\_module/my\_code

and inside lives my\_class.rb:

module MyModule::MyCode

class MyClass \< ActiveRecord::Base

```
def foo
end

```

end

end

I would like to be able to access the MyClass class in my controller  
via:

MyCode::MyClass.foo

I was under the impression this was possible by including the MyModule  
module in application.rb but it doesn’t work. The only way I can  
access the MyClass class is via MyModule::MyCode.MyClass.foo which is  
a mouthful.

Any ideas??

Thanks!

---

<div class="post-metadata">

**Author:** ![richblunt](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/b5e925/32.png) [@richblunt](https://www.ruby-forum.com/u/richblunt)\
**Post date:** [May 25, 2007, 8:03am UTC](https://www.ruby-forum.com/t/namespace-question/105025/2 "2007-05-25T08:03:09Z")

</div>

After including the file,  
If you type in:  
@foo = MyClass.new

What error do you get? Does it suggest that it doesn’t exist?

Zach I.  
â†’ Blog – [http://www.zachinglis.com](http://www.zachinglis.com)  
â†’ Company – [http://www.lt3media.com](http://www.lt3media.com)  
â†’ Portfolio – [http://portfolio.zachinglis.com](http://portfolio.zachinglis.com)

---

<div class="post-metadata">

**Author:** ![richblunt](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/b5e925/32.png) [@richblunt](https://www.ruby-forum.com/u/richblunt)\
**Post date:** [May 25, 2007, 4:10pm UTC](https://www.ruby-forum.com/t/namespace-question/105025/3 "2007-05-25T16:10:03Z")

</div>

yeah, now matter what I try I get uninitialized constant errors, which  
seems so strange. If I use the full path, it’s fine, but mixing in the  
module doesn’t give me access to the class.

On 5/25/07, Zach I. // LT3media [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> e$B"\*e(B Portfolio – [http://portfolio.zachinglis.com](http://portfolio.zachinglis.com)
> 
> > end  
> > a mouthful.
> > 
> > Any ideas??
> > 
> > Thanks!
> > 
> > >
> 
> >

–

Rich B.  
Senior Developer  
Mediagistics, LLC  
Tel: (215) 674-4515  
Mobile: (267) 640-2195  
Email: removed\_email\_address@domain.invalid
