Ich bin neu bei Schienen und ich möchte eine HTML-Seiten in ein PDF konvertieren. Ich benutze wicked_pdf gem für das. Mein Problem ist das PDF sollte für zwei Arten von Benutzern (Manager, Mitarbeiter) generiert werden. Für normale Mitarbeiter wird das PDF korrekt generiert. Aber wenn ein Manager versucht, PDF zu generieren, kann er nicht.Ich habe meinen Code angegeben.PDF ist nicht in wicked_pdf generiert
Dies ist mein Controller
@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
ich eine Ajax-Funktion verwendet habe params zu holen für die controller.the Funktion unter
$("#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 }
});
});
und der Link-Tag in der Ansicht ist
gegeben<% 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>
Wenn der normale Benutzer auf den Link klickt, sollte es für weekly_status_report_path gehen und wenn a Manager klickt auf den Befehl get_prr_path.
das Problem ist, beide Aktionen gut getan haben, aber das pdf nicht
erzeugt wird, wenn i Konsole überprüfen gibt es das folgende Zitat
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]dmine1/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
Ich denke, das Problem mit der Ajax-Funktion ist.
Vielen Dank im Voraus und sorry für mein schlechtes Englisch :)