Quick and dirty multi column LIKE searches. Great for prototyping auto-completers as it handles partial matches and adding search terms refines the results.
Running lots of queries or have a large data set? You should probably upgrade to a real search back-end already!
Add a search method to your model by calling simple_column_search with the fields you want to search.
class User simple_column_search :first_name, :last_name end
Search for a single value across all searched columns.
User.search('eli') # => anyone with first or last name starting with eli User.search('miller') # => anyone with first or last name starting with miller
Refine the search by adding another search term.
User.search('eli miller') # => anyone with first or last name starting with eli AND # anyone with first or last name starting with miller
Specify query match mode. Use :exact, :start, :middle, or :end (default is :start).
class User simple_column_search :name, :match => :exact end
Specify query match based on column name.
class User simple_column_search :name, :email, :match => lambda { |column| column == :email ? :middle : :start }, end
Escape query string before issuing the search request.
class User simple_column_search :name, :escape => lambda { |query| query.gsub(/[^\w\s\-\.']/, '').strip } end
As a Rails plugin.
./script/plugin install git://github.com/jqr/simple_column_search.git
Prefer gems? Add this to your environment.rb and run the following command.
config.gem 'simple_column_search' $ rake gems:install
rdoc.info/projects/jqr/simple_column_search
- Homepage
- License
-
Copyright © 2008 Elijah Miller <[email protected]>, released under the MIT license.