I have read over everyone's comments and I agree to a point.  I'll go
over each proposed solution and add my comments.

1. Use :controller => 'customer_notes' when specifying resources to
have unique controller names
2. Use longer model names like CustomerNote instead of Customer::Note
3. Use load_paths to locate classes grouped by directory names

The first word that comes to mind is, "elegance".  None of these
produce an optimal solution.  They are hacks to achieve the same
functionality that namespaces could offer.

Comments ...

1. The same reason that rails core named their classes
ActiveRecord::Base, not ActiveRecordBase, or
ActonController::Caching::Actions, not ActionControllerCachingActions,
etc., is its poor style/design/foresight to use
CustomerNotesController instead of Customers::NotesController.  We
should be leveraging the ruby language, not shaping ruby to fit
rails.  What happens if we have to refactor?  In addition, having to
configure the routes by hand to use the correct controller name is not
the rails-way.

2. A lot of the same reasons I wrote in #1.  What about an enterprise-
level web application with 80 models.  If we prefix them with another
name anyways, why not make a namespace out of it?

3. So for every module I write, I should have an entry in my
environment listing each of them so it can load the paths properly?
Thats rhetorical.

The bottom line is, convention over configuration is the rails motto
but it doesn't seem to be in these cases.  It is short sighted to
think that each application designed should only serve the purposes
within that application.  The concept of modules and components are
necessary in a proper software design.  How often do people reuse
their controllers, models, etc.?  My biggest question is, what is the
resistance?  Why not have more specific directory structures that
organize our controllers/models without the worry of conflicting
names.  I can't think of a single reason why not.  It's starting to
begin with the new map.namespace functionality for edge rails'
routing.

Thanks for all the feedback everyone.  Rails is a phenomenal framework
and its the communal effort that made it this way.

Regards,

Peter


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Core" group.
To post to this group, send email to rubyonrails-core@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-core?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to