我有一个rails应用程序,并在尝试创建一些动态生成数据的下载链接时遇到问题。
我在.to_pdf
模型中放置了Folha
方法。在控制器folhas_controller.rb
上:
def show
nome = "#{@folha.nome_do_mes}-#{@folha.ano}-#{DateTime.now.to_i}"
@folha = Folha.find(params[:id])
respond_to do |format|
format.pdf do
pdf = @folha.to_pdf(view_context)
send_data pdf.render, filename: "#{nome}.pdf", type: "application/pdf"
end
end
end
问题是.to_pdf
方法仅在我第一次点击链接时执行。对于所有其他点击,无论我的对象是否更新,它都会给我相同的文件。
我不知道我的筹码在哪里发生。
它只发生在生产中。我在部署到heroku的Thin 1.4.1上使用Rails 3.2.6。
请帮忙=)
答案 0 :(得分:0)
我使用了一种解决方法,很确定它不是正确的方法:
routes.rb
resources :folhas do
resources :servicos
end
match 'exportar/:id/:dummy' => 'folhas#show', as: "exportar"
然后在视图上:
<%= link_to image_tag('pdf_small.png'), exportar_path(id: folha.id, dummy: DateTime.now.to_i, format: 'pdf'), class: 'item' %>
每次渲染视图时都会放置不同的链接。