Nested Resource with two different parent controllers

I'm trying to figure out how to created nested resources for a
controller that can have two different "parent" controllers. For

Take the following models:
- Business
- Event
- Comment (business_id, event_id, etc....

A Comment can be associated with either a business or an event. An
event can be associated with a business, but does not have to be.

I can obviously set up the standard REST routes for a Comment. but I'd
like to setup nested resources but can't figure out how to get it to
work for both an Event and a Business.

Ideally, I'd like the following routes:



Can this be accomplished with just one Comments controller? If so, how
do you set it up? As well, I'd like some fields on the Comments[new|
edit] form to change depending on whether it's being created inside a
business or inside an event.

I though about creating two additional controllers that subclass off
of Controller and calling them BusinessComments and EventsComments,
but this doesn't seem like a Rails-way of doing it.

(Note that I can easily change my db schema if there is a better way
to model these relationships.)

Thanks for any help,

I may be wrong, but I think that this is the Rails way to do it.
Doing otherwise would lead to an overly complex controller which needs
to differentiate the urls.

I think you want to set up the routing something like this:

map.resources :events do | event |
  event.resources :comments, :controller => :event_comments

map.resources :businesses do | business |
  business.resources :comments, :controller => :business_comments

Of course, I could be wrong.

Best to checkout the resource_controller plugin. It deals with exactly
what you are trying to do:

See Polymorphic Resources.