render a partial on buttonclick?

I currently have a link to a Login screen, but its a separate page
althogether. I have created a partial that is just the login box and
password, and would like that partial to appear at a place on the page
when the user clicks the link. Anyone know where I can find out how to
do this?

Thanks so much.

You use link_to_remote instead of link_to… then you have the destination be a controller that just renders your partial and puts the result in that div. Pretty easy actually.

<%= link_to_remote "Delete this post", :update => "login_form",

    :url => { :action => "show_login_form", :controller=>"login" } %>

  <div id="login_form">

Then in your controller, assuming you have a partial at app/views//login/_form.rhtml you just do

displays the login form partial… used by an AJAX request

def show_login_form
render :partial=>“login/form”

You can do a lot more cool stuff though… There’s a really good O’Reilly shortcut on RJS, but sadly I forget what it’s called… I think it’s RJS Templates for Rails or something. Quality read, and helps you get started quite quickly.

oh wow that does sound easy, I'm gonna try it out. I'll respond on how
it works out...
Thanks so much!

Ok so some of it worked, but not all of it. I have the partial "app/
views/login/_login_small.rhtml" that has this:

What’s your controller’s action look like that does the rendering?

Use a link_to_remote for the link. In the action it calls,

render :page do
page[:id_of_place_on_page].replace(:partial => 'path_to_partial')

don't forget to setup the variables used in the partial in the action
as well.


Couldn't you also do this in your controller?

# displays the login form partial... used by an AJAX request
def show_login_form
   render :partial=>"login/form", :layout => false

So it wouldn't render the layout for that action?


Here is my action:

I'm looking for the same effect as when you click