Как исправить ошибку Request-URI Too Large в rails 3?

У меня есть ошибка:

Request-URI Too Large

На самом деле я пытаюсь добавить функцию поиска в свое экспериментальное приложение rails 3, которое принимает строку и дата в качестве параметров поиска. По некоторым причинам, когда я нажимаю кнопку отправки, чтобы выполнить поиск, URL-адрес в моем браузере очень длинный, и у меня возникает ошибка, о которой я упоминал выше.

Вот код для моей модели trap.rb :

class Trap < ActiveRecord::Base

 def self.search(empcode, date_entry)
  if empcode and date_entry
   where('empcode LIKE ? and date_entry = ?', "%#{empcode}%", "#{date_entry}")
  else
   scoped
  end
 end
end

В контроллере traps_controller.rb :

class TrapsController < ApplicationController

 def index
  @traps = Trap.search(params[:search_empcode], params[:search_date_entry])

  respond_to do |format|
   format.html # index.html.erb
   format.xml  { render :xml => @traps }
  end
 end

 .
 .
 .
end

И в представлении index.html.erb :

<h2>TRAP 1.0</h2>

<%= form_tag traps_path, :method => 'get' do  %>
 <p>
  Employee Code: <%= text_field_tag :search_empcode, params[:search_empcode] %>
  Date Entry: <%= date_select :search_date_entry, params[:search_date_entry] %>
 </p>

 <p class="buttons"> <%= submit_tag "Search", :name => nil %></p>
<% end %>

<table>
 <tr>
  <th>Empcode</th>
  <th>Date entry</th>
  <th></th>
  <th></th>
  <th></th>
 </tr>

 <% @traps.each do |trap| %>
 <tr>
  <td><%= trap.empcode %></td>
  <td><%= trap.date_entry %></td>
  <td><%= link_to 'Show', trap %></td>
  <td><%= link_to 'Edit', edit_trap_path(trap) %></td>
  <td><%= link_to 'Destroy', trap, :confirm => 'Are you sure?', :method => :delete %></td>
 </tr>
 <% end %>
</table>

<br />

<%= link_to 'New Trap', new_trap_path %>

Может кто-нибудь сказать мне, что с этим не так? Если вы знаете какие-то альтернативы. Пожалуйста, помогите ...

5
задан johan 19 April 2011 в 01:40
поделиться