# Deploying a Rails app: Uninitialized constant Haml::Filters::Markdown

**URL:** <https://www.ruby-forum.com/t/deploying-a-rails-app-uninitialized-constant-haml-markdown/194633>\
**Category:** Rails\
**Created:** [September 8, 2010, 8:08am UTC](https://www.ruby-forum.com/t/deploying-a-rails-app-uninitialized-constant-haml-markdown/194633 "2010-09-08T08:08:37Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![JRJRJR](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/dc4da7/32.png) [@JRJRJR](https://www.ruby-forum.com/u/JRJRJR)\
**Post date:** [September 8, 2010, 8:08am UTC](https://www.ruby-forum.com/t/deploying-a-rails-app-uninitialized-constant-haml-markdown/194633/1 "2010-09-08T08:08:37Z")

</div>

Hello all,

I already posted this question on [stackoverflow.com](http://stackoverflow.com), but I figured  
there would be more people that could help me here, so I’m posting to  
this list as well.

I am in the process of deploying a Rails application (that works fine  
in development) to a new production server running Apache and  
Passenger (with Ruby Enterprise Edition). When I navigate to the main  
page, I get the following in my production.log (along with a 500  
Internal Server Error from Apache):

ActionView::TemplateError (uninitialized constant  
Haml::Filters::Markdown) in app/views/sessions/new.haml

I have the haml and RedCloth gems installed:

\*\*\* LOCAL GEMS \*\*\*  
[…]  
haml (3.0.18)  
RedCloth (4.2.3)

That constant is defined when I refer to it in a Rails console:

# script/console production

Loading production environment.

> > Haml::Filters::Markdown  
> > =\> Haml::Filters::Markdown

The problem doesn’t occur in development, and the gems installed and  
codebase are the same as far as I can tell. Any idea what is causing  
this?

---

<div class="post-metadata">

**Author:** ![JRJRJR](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/dc4da7/32.png) [@JRJRJR](https://www.ruby-forum.com/u/JRJRJR)\
**Post date:** [September 8, 2010, 9:03am UTC](https://www.ruby-forum.com/t/deploying-a-rails-app-uninitialized-constant-haml-markdown/194633/2 "2010-09-08T09:03:39Z")

</div>

On Sep 7, 10:22 pm, JR [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Internal Server Error from Apache):
> 
> That constant is defined when I refer to it in a Rails console:
> 
> # script/console production
> 
> Loading production environment.\>\> Haml::Filters::Markdown
> 
> =\> Haml::Filters::Markdown
> 
> The problem doesn’t occur in development, and the gems installed and  
> codebase are the same as far as I can tell. Any idea what is causing  
> this?

How are you loading the haml gem? If you are loading it at the bottom  
of environment.rb (outside the Rails::Initializer.run block ) then the  
gem is loaded after rails preloads your application code. This preload  
only happens in production mode, which is why it doesn’t matter in  
development

Fred

---

<div class="post-metadata">

**Author:** ![JRJRJR](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/dc4da7/32.png) [@JRJRJR](https://www.ruby-forum.com/u/JRJRJR)\
**Post date:** [September 8, 2010, 6:14pm UTC](https://www.ruby-forum.com/t/deploying-a-rails-app-uninitialized-constant-haml-markdown/194633/3 "2010-09-08T18:14:01Z")

</div>

Thanks for the info. I poked around, and see that haml is installed as  
a plugin, not a gem (all the files are in vendor/plugins/haml). It  
sounds like all you should have to do then is name files \*.haml and it  
should work ([ruby - How do I get Haml to work with Rails? - Stack Overflow](http://stackoverflow.com/questions/99211/how-do-i-get-)  
haml-to-work-with-rails).

I should also mention that it not only works in development, but in  
production mode on another server. I’m actually moving an existing  
application from one server to another by setting up the environment,  
moving the codebase over, and deploying it. As far as I know  
everything is the same on the new server (gems installed, code, etc.),  
so I don’t know why it’s not working and am at a loss as to where to  
start troubleshooting.

Any help is appreciated. Thanks!

On Sep 7, 11:57 pm, Frederick C. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

---

<div class="post-metadata">

**Author:** ![JRJRJR](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/dc4da7/32.png) [@JRJRJR](https://www.ruby-forum.com/u/JRJRJR)\
**Post date:** [September 8, 2010, 10:52pm UTC](https://www.ruby-forum.com/t/deploying-a-rails-app-uninitialized-constant-haml-markdown/194633/4 "2010-09-08T22:52:08Z")

</div>

After some more investigation, I realized the application/page load  
just fine when I start them with “script/server production”. So the  
issue has something to do with the way Passenger is setting up the  
environment, I guess.

---

<div class="post-metadata">

**Author:** ![JRJRJR](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/dc4da7/32.png) [@JRJRJR](https://www.ruby-forum.com/u/JRJRJR)\
**Post date:** [September 17, 2010, 12:16am UTC](https://www.ruby-forum.com/t/deploying-a-rails-app-uninitialized-constant-haml-markdown/194633/5 "2010-09-17T00:16:20Z")

</div>

Just in case someone comes searching for this, I narrowed down the  
problem to the BlueCloth gem. Removing the gem removes this problem,  
installing it again causes it again. That’s as far as I was able to  
get…
