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.
http://railscasts.com/episodes/43-ajax-with-rjs

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).

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

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs