MaggotChild wrote:
> Most in the Rails community seem stick with 1 controller per resource
> when using RESTfull routes.

As opposed to what alternative?

> This makes sense for a resource with one scope and one view, but once
> a resource is used with multiple scopes and/or views  the amount of
> code duplication needed to manage these in a single controller can
> balloon quick. 

Uh, not necessarily.  And plugins like make_resourceful can help too.

> Yet despite the impending  chaos, it seems as though
> people prefer to maintain a controller per resource.

That's the way Rails MVC works.  How would you avoid this, and why?

> 
> Take these examples from Rails sites written by well respected
> authors:
> 
> 1. http://tinyurl.com/2d9rl3v
> 
> find_container() and find_events(): why would one want to do this?

One wouldn't.  Those should be in a model class, or possibly a 
presenter.  That much logic doesn't belong in the controller.  Perhaps 
Jamis is planning to refactor?


> This can become unmanageable. If each of these scopes require
> different view components the same checks will have to be done in the
> action's view or when determining the layout.

I don't think you're right about these particular implications, but 
you're right that this is poorly written.

> 
> 2. http://tinyurl.com/2679ye3
> 
> Look at how many times wall? and blog? have to be called. Not very DRY
> if you ask me.

Nor if you ask me.  Some refactoring and a polymorphic association would 
really help here.

> Rail's routing gives you these checks for free, why not create a
> WallCommentsController and BlogCommentsController? 

Because that would be even less DRY   Polymorphism is probably what's 
wanted here.

> If differing views
> are involved for each of these it seems like a no brainer... but it's
> never done. Why? What am I missing?

You're apparently missing the fact that a comment is a comment, and the 
comments controller shouldn't need to know about the type of its parent 
object.  This is why polymorphism is the right solution.

Best,
-- 
Marnen Laibow-Koser
http://www.marnen.org
[email protected]

Sent from my iPhone
-- 
Posted via http://www.ruby-forum.com/.

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

Reply via email to