# Instant Management Frontend with the Scaffolding Extensions

**URL:** <https://www.ruby-forum.com/t/instant-management-frontend-with-the-scaffolding-extensions/54337>\
**Category:** Rails\
**Created:** [March 1, 2006, 8:52pm UTC](https://www.ruby-forum.com/t/instant-management-frontend-with-the-scaffolding-extensions/54337 "2006-03-01T20:52:13Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![nerdmaster](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/c68b51/32.png) [@nerdmaster](https://www.ruby-forum.com/u/nerdmaster)\
**Post date:** [March 1, 2006, 8:52pm UTC](https://www.ruby-forum.com/t/instant-management-frontend-with-the-scaffolding-extensions/54337/1 "2006-03-01T20:52:13Z")

</div>

I’ve updated the Scaffolding Extensions Plugin[1] recently to add a  
couple new features:

1. Scaffold all models and associations with one command
2. Show all associated objects on the edit page

Example of usage:

In an existing Rails application, create a controller (i.e.  
“script/generate controller crud”), and modify so it looks like:

class CrudController \< ApplicationController  
scaffold\_all\_models  
end

Then go to the index page for the controller (e.g.  
[http://website/crud](http://website/crud)). You’ll see a link to a management page for each  
of your models. Each management page has links to create, delete,  
edit, show, search, and merge pages for the model. The edit pages  
will show all associated objects with working links to edit those  
objects (since every model and association is scaffolded). Add a  
before\_filter to the controller to handle authentication and some  
configuration code to each model (if necessary) and voila, Instant  
Management Frontend.

I’d like to thank Scott Weaver for giving me the idea to add the  
associated objects to the edit page and coming up with a working  
prototype that I could test.

Please contact me if you have any questions or comments about the  
plugin.

Enjoy,  
Jeremy

[1]  
[http://wiki.rubyonrails.com/rails/pages/Scaffolding+Extensions+Plugin](http://wiki.rubyonrails.com/rails/pages/Scaffolding+Extensions+Plugin)

---

<div class="post-metadata">

**Author:** ![nerdmaster](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/c68b51/32.png) [@nerdmaster](https://www.ruby-forum.com/u/nerdmaster)\
**Post date:** [March 1, 2006, 9:08pm UTC](https://www.ruby-forum.com/t/instant-management-frontend-with-the-scaffolding-extensions/54337/2 "2006-03-01T21:08:46Z")

</div>

I’m just curious why we have 3 different options of doing very similar  
things. I have a small app that I want to make into one of these, but  
I"m not sure why I should choose one or the other. For those of you  
that have written one, why did you choose one over another? Which one  
is easier?

Charlie B.  
[http://www.recentrambles.com](http://www.recentrambles.com)

---

<div class="post-metadata">

**Author:** ![nerdmaster](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/c68b51/32.png) [@nerdmaster](https://www.ruby-forum.com/u/nerdmaster)\
**Post date:** [March 1, 2006, 9:15pm UTC](https://www.ruby-forum.com/t/instant-management-frontend-with-the-scaffolding-extensions/54337/3 "2006-03-01T21:15:27Z")

</div>

This might help:  
[http://rails-engines.org/wiki/pages/Components+vs.+Plugins+vs.+Engines](http://rails-engines.org/wiki/pages/Components+vs.+Plugins+vs.+Engines)

On 3/1/06, Charlie B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> removed\_email\_address@domain.invalid  
> [http://lists.rubyonrails.org/mailman/listinfo/rails](http://lists.rubyonrails.org/mailman/listinfo/rails)

–

- J \*  
~

---

<div class="post-metadata">

**Author:** ![nerdmaster](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/c68b51/32.png) [@nerdmaster](https://www.ruby-forum.com/u/nerdmaster)\
**Post date:** [March 1, 2006, 9:29pm UTC](https://www.ruby-forum.com/t/instant-management-frontend-with-the-scaffolding-extensions/54337/4 "2006-03-01T21:29:27Z")

</div>

Charlie

You’ve just hijacked a thread. People who are not interested in the  
“Scaffolding …” thread you are “parasiting” will miss your message.  
Please post a new message next time.

Alain

---

<div class="post-metadata">

**Author:** ![nerdmaster](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/c68b51/32.png) [@nerdmaster](https://www.ruby-forum.com/u/nerdmaster)\
**Post date:** [March 1, 2006, 9:47pm UTC](https://www.ruby-forum.com/t/instant-management-frontend-with-the-scaffolding-extensions/54337/5 "2006-03-01T21:47:38Z")

</div>

Really it’s just granularity.

- Plugins are for hacking. Or at least that’s how I think of them.  
Don’t like the way something works in rails?.. write a plugin and  
change it! Most often plugins will patch ActiveRecord to give it  
some extra functionality, or provide a set of rather generic helper  
methods, etc. I expect that I will use this behavior in other  
applications, and now I can just drop a folder in my plugins  
directory to have that behavior available.

- Generators write code for you. They actually modify your  
application by inserting code. This means they are great for  
smaller, quick start sort of things. They can be complex, but  
ultimately they are meant to be run once and never again for the life  
of that application. Contrast that with a plugin, which can easily  
be added/removed/updated without changing your code base.

- Engines are really just a special case of plugins. They are full-  
fledged, standalone rails applications. These puppies could run on  
their own. They have an entire rails application hierarchy  
internally. They are plugins, but plugins that do more than hack.

So yeah, they all do the same thing. Which is right for your  
situation…well, … “it depends” 😉

-Derrick S.

---

<div class="post-metadata">

**Author:** ![nerdmaster](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/c68b51/32.png) [@nerdmaster](https://www.ruby-forum.com/u/nerdmaster)\
**Post date:** [March 1, 2006, 9:40pm UTC](https://www.ruby-forum.com/t/instant-management-frontend-with-the-scaffolding-extensions/54337/6 "2006-03-01T21:40:33Z")

</div>

Jeremy  
\> Please contact me if you have any questions

Where is the screencast?  
🙂

Alain

---

<div class="post-metadata">

**Author:** ![nerdmaster](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/c68b51/32.png) [@nerdmaster](https://www.ruby-forum.com/u/nerdmaster)\
**Post date:** [March 1, 2006, 9:52pm UTC](https://www.ruby-forum.com/t/instant-management-frontend-with-the-scaffolding-extensions/54337/7 "2006-03-01T21:52:27Z")

</div>

On 3/1/06, Alain R. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Jeremy  
> \> Please contact me if you have any questions
> 
> Where is the screencast?

I’ll be happy to host one if someone else can create it.  
Unfortunately, I don’t have any experience with creating them. I don’t  
even like watching them (I watched one of the Rails screencasts and  
found it boring); I prefer tutorials or just playing around with the  
code.

---

<div class="post-metadata">

**Author:** ![nerdmaster](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/c68b51/32.png) [@nerdmaster](https://www.ruby-forum.com/u/nerdmaster)\
**Post date:** [March 1, 2006, 9:54pm UTC](https://www.ruby-forum.com/t/instant-management-frontend-with-the-scaffolding-extensions/54337/8 "2006-03-01T21:54:56Z")

</div>

On 3/1/06, Derrick S. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Really it’s just granularity.
> 
> - Engines are really just a special case of plugins. They are full-fledged, standalone rails applications. These puppies could run on their own. They have an entire rails application hierarchy internally. They are plugins, but plugins that do more than hack.

They don’t need to be fully-fledged applications - really just  
occasions where you have a coherent bundle views, controllers and  
models which are (or can be) loosley coupled with the rest of your  
application, and you want to share that lump of functionality between  
rails apps.

That said, they might be (some recent wiki stuff demonstrates that).  
But really engines are just plugins taken a bit further than, as  
Derrick says, a way of hacking the Rails framework.

- james
