# Defining new page types in an extension

**URL:** <https://www.ruby-forum.com/t/defining-new-page-types-in-an-extension/86078>\
**Category:** Radiant CMS\
**Created:** [February 19, 2007, 6:34pm UTC](https://www.ruby-forum.com/t/defining-new-page-types-in-an-extension/86078 "2007-02-19T18:34:50Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![igotimac](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/85f322/32.png) [@igotimac](https://www.ruby-forum.com/u/igotimac)\
**Post date:** [February 19, 2007, 6:34pm UTC](https://www.ruby-forum.com/t/defining-new-page-types-in-an-extension/86078/1 "2007-02-19T18:34:50Z")

</div>

What’s the best way to define new page types in an extension?

I created some classes that extend StandardPage, but they aren’t loaded.  
(Don’t appear in the page type drop-down)

---

<div class="post-metadata">

**Author:** ![igotimac](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/85f322/32.png) [@igotimac](https://www.ruby-forum.com/u/igotimac)\
**Post date:** [February 19, 2007, 6:36pm UTC](https://www.ruby-forum.com/t/defining-new-page-types-in-an-extension/86078/2 "2007-02-19T18:36:49Z")

</div>

/Users/igotimac/radiant\_svn\_v2/facets/radiant/public/…/config/…/vendor/rails/activerecord/lib/…/…/activesupport/lib/active\_support/dependencies.rb:266:in  
`load_missing_constant': uninitialized constant StandardPage (NameError) from /Users/igotimac/radiant_svn_v2/facets/radiant/public/../config/../vendor/rails/activerecord/lib/../../activesupport/lib/active_support/dependencies.rb:452:in`const\_missing’  
from  
/Users/igotimac/radiant\_svn\_v2/facets/radiant/public/…/config/…/vendor/rails/activerecord/lib/…/…/activesupport/lib/active\_support/dependencies.rb:464:in  
`const_missing' from /Users/igotimac/radiant_svn_v2/facets/radiant/vendor/extensions/page_attributes/app/models/content_from_template_page.rb:4 from /Users/igotimac/radiant_svn_v2/facets/radiant/public/../config/../vendor/rails/activerecord/lib/../../activesupport/lib/active_support/dependencies.rb:203:in`load\_file’  
from  
/Users/igotimac/radiant\_svn\_v2/facets/radiant/public/…/config/…/vendor/rails/activerecord/lib/…/…/activesupport/lib/active\_support/dependencies.rb:342:in  
`new_constants_in' from /Users/igotimac/radiant_svn_v2/facets/radiant/public/../config/../vendor/rails/activerecord/lib/../../activesupport/lib/active_support/dependencies.rb:202:in`load\_file’  
from  
/Users/igotimac/radiant\_svn\_v2/facets/radiant/public/…/config/…/vendor/rails/activerecord/lib/…/…/activesupport/lib/active\_support/dependencies.rb:94:in  
`require_or_load' from /Users/igotimac/radiant_svn_v2/facets/radiant/public/../config/../vendor/rails/activerecord/lib/../../activesupport/lib/active_support/dependencies.rb:248:in`load\_missing\_constant’  
… 12 levels…  
from  
/Users/igotimac/radiant\_svn\_v2/facets/radiant/public/…/config/…/vendor/rails/railties/lib/initializer.rb:43:in  
`run' from /Users/igotimac/radiant_svn_v2/facets/radiant/public/../config/../lib/radiant/initializer.rb:32:in`run’  
from  
/Users/igotimac/radiant\_svn\_v2/facets/radiant/public/…/config/environment.rb:10  
from  
/Users/igotimac/radiant\_svn\_v2/facets/radiant/public/dispatch.fcgi:21

---

<div class="post-metadata">

**Author:** ![igotimac](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/85f322/32.png) [@igotimac](https://www.ruby-forum.com/u/igotimac)\
**Post date:** [February 19, 2007, 11:43pm UTC](https://www.ruby-forum.com/t/defining-new-page-types-in-an-extension/86078/3 "2007-02-19T23:43:08Z")

</div>

I reference my page extensions during the load of the extension:

[http://soxbox.no-ip.org/radiant/svn/extensions/x\_groggy/x\_groggy\_extensi](http://soxbox.no-ip.org/radiant/svn/extensions/x_groggy/x_groggy_extensi)  
on.rb

---

<div class="post-metadata">

**Author:** ![igotimac](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/85f322/32.png) [@igotimac](https://www.ruby-forum.com/u/igotimac)\
**Post date:** [February 20, 2007, 1:01am UTC](https://www.ruby-forum.com/t/defining-new-page-types-in-an-extension/86078/4 "2007-02-20T01:01:16Z")

</div>

If you extend Page, make sure to mention the class name on its own  
line in the activate method of your extension. This will force Rails  
to load the class. In certain Rails modes (i.e. development,  
production, etc), the class will not be found otherwise.

Sean
