The SitePoint Forums have moved.

You can now find them here.
This forum is now closed to new posts, but you can browse existing content.
You can find out more information about the move and how to open a new account (if necessary) here.
If you get stuck you can get support by emailing forums@sitepoint.com

If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

A printer stylesheet is probably the way to go, but if you must show different html for printing you can add a content type and use something like this:

Code:

respond_to do |format|
format.print { ... }
format.html { ... }
end

Or is this a dirty hack?

There is a lot of debate over print stylesheet vs Separate layout vs PDF.

Using stylesheets is the PROPER way to do things (From a standards POV), as the File>Print feature works as expected. If you feel it necessary to use a "Print" link, use the document.print() javascript method.