2010-04-23 29 views
7

Tôi đã tạo phiên bản pdf của ứng dụng đường ray bằng cách sử dụng plugin Prawn, trang được đề cập là một phần của mô hình Kase - liên kết tới kase là/kases/1 và liên kết đến phiên bản pdf là /kases/1.pdf.Đường ray liên kết tới phiên bản PDF của show.html.erb

Tôi làm cách nào để thêm liên kết trong tệp show.html.erb vào tệp PDF để bất kỳ trang nào được xem nó sẽ cập nhật URL cho id trường hợp chính xác?

<% 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> 

Cảm ơn,

Danny

Trả lời

27

Đối với bất cứ ai quan tâm đến ...

<p><%= link_to "Printable Case (PDF)", kase_path(@kase, :format => 'pdf') %></p> 

Liệu các công việc độc đáo. Nó cũng hoạt động ngay cả khi bạn đang sử dụng Wicked PDF đá quý, vì nó xử lý PDF định dạng yêu cầu

0

bạn tạo một statement.This điều khiển là quá trình rất đơn giản để hiển thị trang hiển thị trên file pdf bằng tôm đá quý

def show 
respond_to do |format| 
format.html 
format.pdf do 
pdf = Prawn::Document.new 
pdf.text "@varinlename.filename" 
end 
Các vấn đề liên quan