0

我知道 prawn 正在工作,因为我有一个显示操作,如果我将 .pdf 添加到它的末尾,它会加载 show.pdf.prawn。但是,我有一个表格:

 <%= form_tag(:controller => "/holders", :action=> "generate", format: "pdf") do %>
      <%= label_tag(:count, "How Many Students?") %>
      <%= text_field_tag(:count) %>
      <%= hidden_field_tag :holder_id, value: @holder%>
      <%= submit_tag("Generate Course Lesson") %>
    <% end %>

这会将计数提交给生成操作。

在我的生成操作中,我有以下内容:

    def generate
        prawnto :filename => "print.pdf"
        respond_to do |format|
      format.html
      format.pdf { render :layout => false}
    end
  end

我的 generate.pdf.prawn 看起来像:

pdf.text "HELLO WORLD"

当我提交表单时,我得到了 URL:http://localhost:3000/generate.pdf并且 Chrome 告诉我 Failed to load PDF document没有其他错误或信息。

我注意到我得到了:Rendered holders/generate.pdf.erb在我的开发日志中,这表明它甚至没有在寻找 .prawn 文件。

我究竟做错了什么?

4

1 回答 1

0

像这样设置你的动作:

def generate
  respond_to do |format|
    format.html
    format.pdf { prawnto :filename => 'print.pdf' }
  end
end
于 2012-07-09T21:29:36.467 回答