CRUD pattern for modals

I have an application, where i.e., I can go to the users controllers, and they manage all the basic actions by rest, like creating, modifying, updating and deleting records.

Now, I want to reuse that code, from another part in the web page, so I can list the users on that other controller, and if I press on add, I want the users/new page to open, in a popup (like facebox or anything like that) but without breaking the code that I already have for managing the users (since I want to modify the users for the both places).

The main problem is that for the popup, I need another layout to be displayed, and once the record is created/updated, I need to display a message status instead of redirecting back the user to the users index.

Is there a pattern, a tutorial or something you can point me at so I can figure out the best way to do it?

Thanks

The popup sounds like some AJAX. You can create JavaScript views for your actions (action.js.erb) and use XHR with an Accept: text/ javascript header to get those views (probably users/index.js.erb and users/new.js.erb), and do the popup etc. within that. Similar course of action for users/create.js.erb, which would display the message when it was finished. That's a quick overview, check out this Railscast to get a better idea of how to do that.

If you really want to have a pop-up and don't want to deal with Ajax at all, then I would suggest fancybox <http://fancybox.net> It is actually an iframe, but gives you a popup like feeling and you can use your normal controller, just that in click of a link, it will open the fancybox and serve you in the iframe.

-Gourav

Another option is rb-lightbox, which is made for RoR (and depends on prototype) http://code.google.com/p/rb-lightbox-plugin/

It gives you functions like "link_to_lightbox" and "link_to_remote_lightbox" (ajax).