Rails link to PDF version of show.html.erb

Posted by Danny McClelland on Stack Overflow See other posts from Stack Overflow or by Danny McClelland
Published on 2010-04-23T18:19:02Z Indexed on 2010/04/23 19:03 UTC
Read the original article Hit count: 434

Filed under:
|

Hi Everyone,

I have created a pdf version of our rails application using the Prawn plugin, the page in question is part of the Kase model - the link to the kase is /kases/1 and the link to the pdf version is /kases/1.pdf.

How can I add a link within the show.html.erb to the PDF file so whichever page is being viewed it updates the URL to the correct case id?

<% content_for :header do -%>
    <%=h @kase.jobno %> | <%=h @kase.casesubject %>
<% end -%>

<!-- #START SIDEBAR -->
<% content_for :sidebar do -%>
<% if @kase.avatar.exists? then %>
<%= image_tag @kase.avatar.url %>
<% else %>
<p style="font-size:smaller"> You can upload an icon for this case that will display here. Usually this would be for the year number icon for easy recognition.</p>
<% end %>
<% end %>
<!-- #END SIDEBAR -->

<ul id="kases_showlist">

<li>Date Instructed: <span><%=h @kase.dateinstructed %></span></li> 
<li>Client Company: <span><%=h @kase.clientcompanyname %></span></li>
<li>Client Reference: <span><%=h @kase.clientref %></span></li>
<li>Case Subject: <span><%=h @kase.casesubject %></span></li>
<li>Transport<span><%=h @kase.transport %></span></li>
<li>Goods<span><%=h @kase.goods %></span></li>
<li>Case Status: <span><%=h @kase.kase_status %></span></li>
<li>Client Company Address: <span class="address"><%=h @kase.clientcompanyaddress %></span></li>
<li>Client Company Fax: <span><%=h @kase.clientcompanyfax %></span></li>
<li>Case Handler: <span><%=h @kase.casehandlername %></span></li>
<li>Case Handler Tel: <span><%=h @kase.casehandlertel %></span></li>
<li>Case Handler Email: <span><%=h @kase.casehandleremail %></span></li>
<li>Claimant Name: <span><%=h @kase.claimantname %></span></li>
<li>Claimant Address: <span class="address"><%=h @kase.claimantaddress %></span></li>
<li>Claimant Contact: <span><%=h @kase.claimantcontact %></span></li>
<li>Claimant Tel: <span><%=h @kase.claimanttel %></span></li>
<li>Claiment Mob: <span><%=h @kase.claimantmob %></span></li>
<li>Claiment Email: <span><%=h @kase.claimantemail %></span></li>
<li>Claimant URL: <span><%=h @kase.claimanturl %></span></li>
<li>Comments: <span><%=h @kase.comments %></span></li>

</ul>

<!--- START FINANCE INFORMATION -->
<div id="kase_finances">
    <div class="js_option">
    <h2>Financial Options</h2><p class="finance_showhide"><%= link_to_function "Show","Element.show('finance_showhide');" %> / <%= link_to_function "Hide","Element.hide('finance_showhide');" %></p>
    </div>

<div id="finance_showhide" style="display:none">

<ul id="kases_new_finance">

  <li>Invoice Number<span><%=h @kase.invoicenumber %></span></li>
  <li>Net Amount<span><%=h @kase.netamount %></span></li>
  <li>VAT<span><%=h @kase.vat %></span></li>
  <li>Gross Amount<span><%=h @kase.grossamount %></span></li>
  <li>Date Closed<span><%=h @kase.dateclosed %></span></li>
  <li>Date Paid<span><%=h @kase.datepaid %></span></li>

</ul></div>
</div>
<!--- END FINANCE INFORMATION -->


<%= link_to 'Edit Case', edit_kase_path(@kase) %> |
<%= link_to 'Back', kases_path %> |
<a href="#">Top</a>

    <div style="width:120%; height: 50px; background-color: black; margin: 10px 0 0 -19px; padding: 0; background-color: #d4d4d4;">&nbsp;</div>

    <div class="js_option_kaseemails">
        <%= link_to_function "Show", 
        "Element.show('newinstructionemail1');"
        %> /
        <%= link_to_function "Hide", 
        "Element.hide('newinstructionemail1');"
        %>
    </div>

    <h3>New Instruction Email</h3>
    <div id="newinstructionemail1" style="display:none">
    <p class="kase_email_output">
    Hi,<br />
    <br />
    Many thanks for your instructions in the subject matter.<br />
    <br />
    We have allocated reference number <%=h @kase.jobno %> to the above claim.<br />
    <br />
    We have started our inquiries and will be in touch.<br />
    <br />
    Best Regards,<br />
    <br />
    <strong><%=h current_user.name %></strong>
    <br />
    McClelland &amp; Co<br />
    PO Box 149<br />
    Southport<br />
    PR8 4GZ<br />
    <br />
    Tel:  +(0) 1704 569871<br />
    Fax: +(0) 1704 562234<br />
    Mob: <%=h current_user.mobile %><br />
    E-mail:  <%= current_user.email %><br />
    <br />
    This e-mail and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed.  If you receive this e-mail in error please notify the originator of the message.
    <br /><br />
    McClelland &amp; Co has taken every reasonable precaution to ensure that any attachment to this e-mail has been checked for viruses but it is strongly recommended that you carry out your own virus check before opening any attachment. McClelland &amp; Co cannot accept liability for any damage sustained as a result of software virus infection.
    </p>

    <%= link_to 'Edit Case', edit_kase_path(@kase) %> |
    <%= link_to 'Back', kases_path %> |
    <a href="#">Top</a>

    </div>

        <div style="width:120%; height: 20px; background-color: black; margin: 10px 0 0 -19px; padding: 0; background-color: #d4d4d4;">&nbsp;</div>

    <div class="js_option_kaseemails">
        <%= link_to_function "Show", 
        "Element.show('newinstructionemail');"
        %> /
        <%= link_to_function "Hide", 
        "Element.hide('newinstructionemail');"
        %>
    </div>

    <h3>New Instruction Email</h3>
    <div id="newinstructionemail" style="display:none">
    <p class="kase_email_output">
    Hi,<br />
    <br />
    Many thanks for your instructions in the subject matter.<br />
    <br />
    We have allocated reference number <%=h @kase.jobno %> to the above claim.<br />
    <br />
    We have started our inquiries and will be in touch.<br />
    <br />
    Best Regards,<br />
    <br />
    <strong><%=h current_user.name %></strong>
    <br />
    McClelland &amp; Co<br />
    PO Box 149<br />
    Southport<br />
    PR8 4GZ<br />
    <br />
    Tel:  +(0) 1704 569871<br />
    Fax: +(0) 1704 562234<br />
    Mob: <%=h current_user.mobile %><br />
    E-mail:  <%= current_user.email %><br />
    <br />
    This e-mail and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed.  If you receive this e-mail in error please notify the originator of the message.
    <br /><br />
    McClelland &amp; Co has taken every reasonable precaution to ensure that any attachment to this e-mail has been checked for viruses but it is strongly recommended that you carry out your own virus check before opening any attachment. McClelland &amp; Co cannot accept liability for any damage sustained as a result of software virus infection.
    </p>

    <%= link_to 'Edit Case', edit_kase_path(@kase) %> |
    <%= link_to 'Back', kases_path %> |
    <a href="#">Top</a>

    </div>

        <div style="width:120%; height: 20px; background-color: black; margin: 10px 0 0 -19px; padding: 0; background-color: #d4d4d4;">&nbsp;</div>

    <div class="js_option_kaseemails">
    <%= link_to_function "Show", 
    "Element.show('newinstructionemail2');"
    %> /
    <%= link_to_function "Hide", 
    "Element.hide('newinstructionemail2');"
    %>
    </div>

    <h3>New Instruction Email</h3>
    <div id="newinstructionemail2" style="display:none;">
    <p class="kase_email_output">
    Hi,<br />
    <br />
    Many thanks for your instructions in the subject matter.<br />
    <br />
    We have allocated reference number <%=h @kase.jobno %> to the above claim.<br />
    <br />
    We have started our inquiries and will be in touch.<br />
    <br />
    Best Regards,<br />
    <br />
    <strong><%=h current_user.name %></strong>
    <br />
    McClelland &amp; Co<br />
    PO Box 149<br />
    Southport<br />
    PR8 4GZ<br />
    <br />
    Tel:  +(0) 1704 569871<br />
    Fax: +(0) 1704 562234<br />
    Mob: <%=h current_user.mobile %><br />
    E-mail:  <%= current_user.email %><br />
    <br />
    This e-mail and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed.  If you receive this e-mail in error please notify the originator of the message.
    <br /><br />
    McClelland &amp; Co has taken every reasonable precaution to ensure that any attachment to this e-mail has been checked for viruses but it is strongly recommended that you carry out your own virus check before opening any attachment. McClelland &amp; Co cannot accept liability for any damage sustained as a result of software virus infection.
    </p>

    <%= link_to 'Edit Case', edit_kase_path(@kase) %> |
    <%= link_to 'Back', kases_path %> |
    <a href="#">Top</a>
    </div>

Thanks,

Danny

© Stack Overflow or respective owner

Related posts about ruby-on-rails

Related posts about pdf