所以我在每个页面上都有一个我想要的标题,看起来像这样
,我希望页码出现在用户名显示 [page] 的位置。这是我到目前为止所拥有的,但它不起作用:
在我的控制器中:
render pdf: "report",
page_size: "Letter",
layout: "pdf",
template: "/results/report",
footer: {
spacing: -265,
html: { template: '/layouts/_report_header.html'}
},
header: {
spacing: 3,
html: { template: '/layouts/_page_header.html' }
},
margin: {
top: 20,
bottom: 5
}
在我的 /layouts/_page_header.html.erb
<html>
<head>
<% user_id = session[:user_id] %>
<% user = User.find(user_id) %>
<script>
function number_pages() {
var vars={};
var x=document.location.search.substring(1).split('&');
for(var i in x) {var z=x[i].split('=',2);vars[z[0]] = decodeURIComponent(z[1]);}
var x=['frompage','topage','page','webpage','section','subsection','subsubsection'];
for(var i in x) {
var y = document.getElementsByClassName(x[i]);
for(var j=0; j<y.length; ++j) y[j].textContent = vars[x[i]];
}
}
</script>
</head>
<body onload="number_pages()">
<div class="page_header inline">
<h3 class="margin_none font_roboto">Nutrient Tracking Tool - Report</h3>
</div>
<div class="right font_roboto">
<strong>User:</strong> <%= user.name %> | <span class="page">[page]</span></br>
</div>
<div>
<hr class="line_break" color="dodgerblue">
</div>
</body>
</html>
上面“var x”中列出的任何类都将在渲染时自动填充。
这应该会导致span
类页面显示当前页码,但事实并非如此。我怎样才能解决这个问题?
更新:我认为提到添加{ center: '[page] of [topage]' }
到页脚的页眉会导致页码正确显示可能也很重要: