用铁轨上的虾红宝石打印索引表

时间:2015-06-04 04:22:09

标签: ruby ruby-on-rails-4 search params prawn

我在尝试打印搜索在我的应用程序索引中生成的数组时遇到了问题。这是我的代码:

约会控制人(指数行动):

def index
  @appointments = Appointment.search(params[:search])
  respond_to do |format|
    format.html
    format.pdf do
      pdf = AppointmentsPdf.new(@appointments)
      send_data pdf.render, filename: "citas_del_dia",
                                type: "application/pdf",
                         disposition: "inline"
    end
  end
end

索引视图:

<%= form_tag @appointments_path, :method => 'get', :id => "appointments_search" do %>
    <%= date_field_tag :search, params[:search] %>
    <%= submit_tag "search date", :name => nil %>
<% end %>

<div><%= render 'appointments' %></div>


<%= link_to "Print appointments of the day",appointments_path(@appointments, :format => 'pdf'), target: "_blank" %>

和我的虾pdf类:

class AppointmentsPdf < Prawn::Document
    def initialize(appointments)
        super(top_margin: 30, :page_layout => :landscape)
        @appointments = appointments
        #some code to fill the pdf.

现在的问题是,当我搜索特定日期时,它会使索引正常,但是当我想将该页面打印到pdf时,它不会打印任何内容,就像搜索其中的null而不是。我想我必须将搜索作为参数传递给虾类,但我不知道在哪里或如何。

1 个答案:

答案 0 :(得分:1)

我通过将搜索参数传递给类似方法的链接来解决它:

<%= link_to "appointments of the day", citas_del_dia_appointments_path(@appointments, :format => 'pdf', :search => params[:search]), target: "_blank" %>

现在它就像一个魅力