-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME
40 lines (29 loc) · 1.13 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Insensitivity
==========
Insensitivity is a rails plugin that helps to do case and accent insensitive searches in PostgreSQL
It change the WHERE conditions to translate the field removing accents and applying lowercase
NOTE: I'm abandonning the *_search fields approach and making the plugin PostgreSQL specific.
If you want to use the old aproach, it is tagged as 0.0.1
Example
=======
Migration:
create_table :foos do |t|
t.string :field1
t.string :field2
end
Model:
class Foo < ActiveRecord::Base
insensible :field1, :field2
end
Foo.find_by_field1('bla')
SELECT * FROM foos
WHERE TRANSLATE(LOWER(widgets.field1),
'âãäåāăąèééêëēĕėęěìíîïìĩīĭóôõöōŏőùúûüũūŭůç',
'aaaaaaaeeeeeeeeeeiiiiiiiiooooooouuuuuuuuc') = 'bla'
Foo.find(:first, :conditions => ['field1 = ?', 'bla'], :order => 'field1')
SELECT * FROM foos
WHERE TRANSLATE(LOWER(widgets.field1),
'âãäåāăąèééêëēĕėęěìíîïìĩīĭóôõöōŏőùúûüũūŭůç',
'aaaaaaaeeeeeeeeeeiiiiiiiiooooooouuuuuuuuc') = 'bla'
ORDER BY field1 LIMIT 1
Copyright (c) 2009 Fernando Luizao, released under the MIT license