# Modularization of a Rails application?

**URL:** <https://www.ruby-forum.com/t/modularization-of-a-rails-application/120045>\
**Category:** Rails\
**Created:** [November 13, 2007, 11:03am UTC](https://www.ruby-forum.com/t/modularization-of-a-rails-application/120045 "2007-11-13T11:03:34Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Sven\_F](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/b5e925/32.png) [@Sven\_F](https://www.ruby-forum.com/u/Sven_F)\
**Post date:** [November 13, 2007, 11:03am UTC](https://www.ruby-forum.com/t/modularization-of-a-rails-application/120045/1 "2007-11-13T11:03:34Z")

</div>

For a client I have to present options for “modularizing” a Rails  
application. By “modularization” is meant that the application allows  
to plug/unplug (install/uninstall) whole vertical slices of  
functionality including models, views, controllers, routes, migrations.

I know that this is not the most recommended approach in Rails.

I have seen both Engines [1] and Hydra [2] which seem to solve a  
problem like this at different levels.

Are there any other (even if experimental) approaches to this? Also,  
are there reviews or success stories about using these approaches for  
the said purpose?

I have also read John W. Long’s article “Better Modularization for  
Rails 2.0” [3] and the discussion on the Rails core mailinglist that  
it spun off [4].

Does anybody know if there are efforts to realize some of the stuff  
discussed there?

Thanks!

[1] [http://rails-engines.org/](http://rails-engines.org/)  
[2]  
[RailsConf Europe: Hydra](http://blog.nicksieger.com/articles/2007/10/06/railsconf-europe-hydra)  
[3]  
[http://wiseheartdesign.com/2007/6/15/better-modularization-for-rails-2-0/](http://wiseheartdesign.com/2007/6/15/better-modularization-for-rails-2-0/)  
[4]  
[http://groups.google.com/group/rubyonrails-core/browse\_thread/thread/45685895778b1357/](http://groups.google.com/group/rubyonrails-core/browse_thread/thread/45685895778b1357/)

–  
sven fuchs removed\_email\_address@domain.invalid  
artweb design [http://www.artweb-design.de](http://www.artweb-design.de)  
grünberger 65 + 49 (0) 30 - 47 98 69 96 (phone)  
d-10245 berlin + 49 (0) 171 - 35 20 38 4 (mobile)

---

<div class="post-metadata">

**Author:** ![Sven\_F](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/b5e925/32.png) [@Sven\_F](https://www.ruby-forum.com/u/Sven_F)\
**Post date:** [November 13, 2007, 11:42am UTC](https://www.ruby-forum.com/t/modularization-of-a-rails-application/120045/2 "2007-11-13T11:42:14Z")

</div>

Not being very helpful here, but I recently looked into this issue as  
well and did not found a satisfactory approach. There very much  
_should_ be a better approach, I agree with John in [3]
