Model Advice

Hi-

I have a single controller that's associated with a single model. I
would now like to create a whole bunch more models to use the same
controller, is this a bad idea?

If I use the scaffold generator (which takes the controller and model
as inputs) will this wipe out all the work I have already done for the
first model (in the views and controller)?

What is the best way to go when you have a lot of models and a single
controller?

Thanks!

I'm guessing you want to perform some operation on multiple models in
the same action.

You can use: script/generate model ModelName name:string this:integer
that:boolean

This lets you generate all the extra models (and migrations). You'll
then need to add them into the controller yourself.

Yes, I will essentially do the same things with the new model.

What are the extra parameters doing in the generator?

Nevermind...I looked it up, sorry for being lazy :slight_smile:

So, a question on good practice:

Having multiple models in one controller is a good/normal thing?

The extra (optional) arguments after the ModelName will prepopulate
the generated migration file with the columns (and types) specified.

There's nothing inherently wrong with multiple models in a
controller. Often times, though, you're dealing with a single model
and its associations (which are other models). For instance, finding
a product and its category, brand, sizes, and colors. You only need:
@product = Product.find(params[:id]) to get @product.brand,
@product.category, @product.sizes, etc.

There's a really good screencast on doing CRUD with associations here:
http://railscasts.com/episodes/73

Ok. Thanks very much for your feedback!