Putting a page within a page

You had it.

<%= render :partial=>"login" %> is the way to go. Keep in mind when rendering partials you file needs to be caled _login.rhtml not login.rhml.

an other way would be using frames, but the kind a hacky solution - and I don't recomend it. I've done the same thing as you want by using partials.

the following is from wiki.rubyonrails.com:

Sharing partial templates between controllers

A partial template is normally placed in the same view directory as the template it's called from. To use the partial in a template in a different directory, use the full path to that directory (from the views directory).

For example, consider a template called _author_summary.rhtml which exists in the directory, views/author. Now, you may also want to show an author summary from, say, a blog page. In the blog template (which is saved in /views/blog), use this:

<%= render :partial => 'author/author_summary' %>

Notice that you don't put the initial underscore that actually exists on the name of the template.