Change find method in database search so that it isn't case sensitive in Rails app
Posted
by Ryan
on Stack Overflow
See other posts from Stack Overflow
or by Ryan
Published on 2010-04-15T23:49:48Z
Indexed on
2010/04/15
23:53 UTC
Read the original article
Hit count: 574
Hello,
I am learning Rails and have created a work-in-progress app that does one-word searches on a database of shortcut keys for various programs (http://keyboardcuts.heroku.com/shortcuts/home). The search method in the Shortcut model is the following:
def self.search(search)
search_condition = "%" + search + "%"
find(:all, :conditions => ['action LIKE ? OR application LIKE ?', search_condition, search_condition])
end
...where 'action' and 'application' are columns in a SQLite table. (source: https://we.riseup.net/rails/simple-search-tutorial)
For some reason, the search seems to be case sensitive (you can see this by searching 'Paste' vs. 'paste'). Can anyone help me figure out why and what I can do to make it not case sensitive? If not, can you at least point me in the right direction?
Database creation: I first copied shortcuts from various website into Excel and saved it as a CSV. Then I migrated the database and filled it with the data using db:seed and a small script I wrote (I viewed the database and it looked fine). To get the SQLite database to the server, I used Taps as outline by the Heroku website (http://blog.heroku.com/archives/2009/3/18/push_and_pull_databases_to_and_from_heroku/). I am using Ubuntu.
Please let me know if you need more information. Thanks in advance for you help, very much appreciated!
Ryan
© Stack Overflow or respective owner