2012-03-20 64 views
2

我正在使用wicked_pdf来呈现PDF。该应用程序呈现HTML中的表格。该表格是动态的,因为其中的数据每30秒更改一次。当用户点击“下载为PDF”链接时,请求会返回到服务器,并呈现HTML(稍微修改为PDF)。呈现PDF而不返回服务器(wicked_pdf)

但问题是,由于请求返回到服务器,数据会发生变化。这会导致PDF表格显示与HTML表格不同的值。客户不需要这个。

基本上,他们想要PDF格式的静态表的快照,而不是动态表。我如何使用wicked_pdf来做到这一点?

感谢, 斯里达尔

+2

只需将表格的内容传递回服务器即可创建PDF作为参数。 – Hck 2012-03-20 07:27:56

+0

你的意思是将表的HTML作为字符串参数发送?我正在考虑这一点。 – sridharraman 2012-03-21 08:28:20

+0

那么为什么这种方式不符合您的要求? – Hck 2012-03-21 11:24:49

回答

1

共轨方式这里是使用时间戳。

你应该把你的实际时间传递给你的控制器,所以它只会提取假设的项目,比如。

# views 
= link_to "pdf", orders_path(updated_at: DateTime.now, format: :pdf) 
# controller 
orders = Order.where(updated_at >= params[:updated_at]) 
+0

不幸的是,在现有的数据库结构中没有简单的方法来获取这些信息。 [我被迫使用客户端使用的遗留数据库。] 我正在考虑创建临时数据库视图并将session-id用作参数。感谢您的建议。 – sridharraman 2012-03-21 08:30:30

+0

我明白了。所以你可以使用临时数据库,但你需要创建一些清理逻辑来删除旧数据等。或者你真的可以将原始html作为字符串发送给某个pdf生成控制器。要么。如果您的buiseness逻辑允许您获取特定项目。您只能传递id并根据id生成pdf – fl00r 2012-03-21 08:48:30