How to print a page using RJS

50 views
Skip to first unread message

Manisha Tripathy

unread,
Jun 4, 2009, 5:41:01 AM6/4/09
to rubyonra...@googlegroups.com
Hello everyone,

I am trying to add an option to print my view, i.e the display webpage
in my Rails application.At present I am using HTML DOM for that but I
want to do that in ruby.Following some online tutorials, I am trying to
use rjs for that. the codes are some thing like this

# view.rhtml

<%=link_to_remote ("Print Page", :url => {:action => :print})%><br />

# doc.rjs

page.hide 'header'
page.hide 'header2'

page.<<'javascript:window.open();'

page.show 'header'
page.show 'header2'

Can anyone give some idea as to why this is not working?I have very less
knowledge in this.Is there any other way to do the same?
--
Posted via http://www.ruby-forum.com/.

Rakoth

unread,
Jun 4, 2009, 6:20:54 AM6/4/09
to Ruby on Rails: Talk
Hi, Manisha Tripathy.

You can solve this problem by creating special css for printer,

<%= stylesheet_link_tag "print_style", :media => "print" %>

and in print_style.css

#header{
display:none;
}
and so on..

On Jun 4, 1:41 pm, Manisha Tripathy <rails-mailing-l...@andreas-s.net>
wrote:

Manisha Tripathy

unread,
Jun 4, 2009, 8:30:57 AM6/4/09
to rubyonra...@googlegroups.com
Ok but in that case , I think we will not be using rjs file. right?
Can you just explain a bit more please.

Rakoth wrote:
> Hi, Manisha Tripathy.
>
> You can solve this problem by creating special css for printer,
>
> <%= stylesheet_link_tag "print_style", :media => "print" %>
>
> and in print_style.css
>
> #header{
> display:none;
> }
> and so on..
>
> On Jun 4, 1:41�pm, Manisha Tripathy <rails-mailing-l...@andreas-s.net>

--
Posted via http://www.ruby-forum.com/.

Rakoth

unread,
Jun 4, 2009, 9:27:28 AM6/4/09
to Ruby on Rails: Talk
Yes, in this case you just add css tag to page that you want to print.
This css will be used when you run print command in your browser,
becouse parameter :media set to "print".
And you can specify look of a page when printed using the appropriate
styles, for exalple to hide
element with id="header" or with class="navigation" use

#header, .navigation{
display:none;
}

Try to find more information on this topic using google query "css
media print"

forgive me my english, I`m using google translate.


On Jun 4, 4:30 pm, Manisha Tripathy <rails-mailing-l...@andreas-s.net>
wrote:
Reply all
Reply to author
Forward
0 new messages