В моем контроллере есть поисковое действие, которое выглядит следующим образом ...
def search
@from_date = Date.new(params[:from_date][:year].to_i, params[:from_date][:month].to_i, params[:from_date][:day].to_i).to_s(:db)
@to_date = Date.new(params[:to_date][:year].to_i, params[:to_date][:month].to_i, params[:to_date][:day].to_i).to_s(:db)
@visits = Visit.search(from_date, to_date, current_user)
respond_to do |format|
format.html
end
end
Это прекрасно работает, если я вызываю это действие из этого представления ..
<% form_tag "visits/search" do %>
<p/>
<%= 'Enter the dates to print' %>
<p/>
<%= select_date(Date.current, :order => [:month, :day, :year], :prefix=>'from_date') %>
- to-
<%= select_date(Date.current, :order => [:month, :day, :year], :prefix => 'to_date') %>
<%= submit_tag "Show me Visits" %>
<% end %>
Однако я пытаюсь создать PDF-файл с этим представлением, поэтому мне нужно передать from_date и to_date в URL.Для этого я использую оператор link_to ...
<p><%= link_to "Print PDF", visits_search_path(format: 'pdf', from_date: @from_date, to_date: @to_date) %></p>
Это дает мне красиво сформированный URL, который выглядит как ...
/visits/search.pdf?from_date=2011-09-22&to_date=2012-02-22
, но когда я нажимаю эту ссылку,Я получаю ошибку ..
TypeError in VisitsController#search
can't convert Symbol into Integer
Rails.root: /home/jlocklear/railsApps/ezslp_w_prawn
Application Trace | Framework Trace | Full Trace
app/controllers/visits_controller.rb:104:in `[]'
app/controllers/visits_controller.rb:104:in `search'
Есть идеи?