2017-04-25 41 views
0

私はレールが初めてで、htmlページをpdfに変換したいと思っています。私はそれのwicked_pdf宝石を使用しています。私の問題は、pdfが2種類のユーザ(マネージャ、スタッフ)のために生成されるべきです。普通のスタッフの場合はpdfが適切に生成されますが、マネージャーがpdfを生成しようとしているときは、自分のコードは与えられません。wicked_pdfでPDFが生成されない

これは私がcontroller.the機能のためのparamsを取得するためにAjaxの機能を使用していた私のコントローラ

@time_entries = TimeEntry.find(params[:ids]) 
    @project = Project.find_by_id(params[:project_id]) 
    @upcoming_week_tasks = @project.issues.open 
    opened_risks = Risk.where(project_identifier:  @project.identifier, status: Risk.get_open_statuses) 
    closed_risks = Risk.where("project_identifier = ? and updated_at >= ? and updated_at <= ? and status in (?)", @project.identifier, params[:wsr_start_date],params[:wsr_end_date], Risk.get_closed_statuses) 
    @risks = opened_risks + closed_risks 
    respond_to do |format| 
     format.js do 
     render :partial => "wsr_entries", :content_type => 'text/html' 
     end 
     format.pdf do 
     render pdf: "PRR-#{@project.name}", template: "wsr/prr.html.erb" 
     end 
    end 
    end 

では

$("#pdf_link").click(function(e){ 
    e.preventDefault(); 
    var ids = []; 
    var project_id = $("#project_id").find(":selected").attr('value'); 
    $(".list input[type=checkbox]:checked").each(function(){ 
     ids.push($(this).attr('value')); 
    }); 

    $.ajax({ 
    url: '/get_prr.pdf', 
    type: 'POST', 
    data: {ids: ids, project_id: project_id } 
    }); 
}); 

の下に与えられ、ビュー内のリンクタグは

です
<% action_path = @managers.include?(@user) ? get_prr_path(:format => "pdf") : weekly_status_report_path(:format => "pdf")%> 
    <p id="pdf_link" style="display:none;"><%= link_to "Download PDF", action_path %></p> 

普通のユーザーがweekly_status_report_pathに行くリンクをクリックすると、マネージャはget_prr_pathのためにそれをクリックします。

問題は両方のアクションがよくやっているですが、私は、コンソールをチェックしたときにPDFが、それは、以下の引用文

Rendered wsr/_summary_of_time_entries.html.erb (6.2ms) 
    Rendered wsr/prr.html.erb (8.6ms) 
"***************[\"/home/likewise-open/CHENNAI/001133/.rvm/gems/ruby- [email protected]/bin/wkhtmltopdf\", \"-q\", \"file:////tmp/wicked_pdf20170425-20985-1kfny53.html\", \"/tmp/wicked_pdf_generated_file20170425-20985-1ke6sll.pdf\"]***************" 
    Rendered text template (0.0ms) 
Sent data PRR-WSR task check.pdf (2.2ms) 
Completed 200 OK in 1061ms 

私は問題がAJAX機能を使用することです推測を与える

が生成されません。事前に

感謝し、あなたのrespond_toブロックにformat.htmlに追加する私の悪い英語:)のために残念

答えて

0

してみてください。私はwicked_pdfがあなたがそれを使用しなくてもそれがそこにあることを期待していると思う。

respond_to do |format| 
    format.html 
    format.js do 
    render :partial => "wsr_entries", :content_type => 'text/html' 
    end 
    format.pdf do 
    render pdf: "PRR-#{@project.name}", template: "wsr/prr.html.erb" 
    end 
end 
関連する問題