How do we '

Dear RubyReportist's
I've been beating up the Rails web forums for the last week trying to
understand how 'mature' Rails web developers' elect to allow their
users to 'mince' the data.
We all know that a normal INDEX action in Rails usually does a
Table.find(:all) and there we show the user a list (page by page) of
the 'whole show'.
Now, what happen's when the user wants to just see a part of it, or
sort by a field, or select a result set a group of separate fields?
I've seen code like this:
def self.search(town, beds, min_price, max_price)
  conditions = []
  conditions << ['town = ?', town] if town
  conditions << ['beds = ?', beds] if beds
  conditions << ['price >= ?', min_price] if min_price
  conditions << ['price <= ?', max_price] if max_price
  find(:all, :conditions => [conditions.transpose.first.join(' and '),
*conditions.transpose.last])
But not found anyone that can tie it all together. Are there any
people in this group that would be willing to consult to show me a
simple example of how this could be done?
David Kennedy
DauntlessDavid@gmail.com
775-885-9125