0

我有一个 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。请帮忙=)

4

1 回答 1

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' %>

这样每次渲染视图时都会放置一个不同的链接。

于 2012-08-07T01:35:56.783 回答