File tree 1 file changed +11
-6
lines changed
lib/rails-jquery-autocomplete/orm
1 file changed +11
-6
lines changed Original file line number Diff line number Diff line change @@ -29,6 +29,10 @@ def active_record_get_autocomplete_items(parameters)
29
29
limit ( limit ) . order ( order )
30
30
items = items . where ( where ) unless where . blank?
31
31
32
+ if options [ :unique ]
33
+ scopes << lambda { unscope ( :select ) . select ( "MIN(#{ table_name } .#{ model . primary_key } ) as #{ model . primary_key } , #{ table_name } .#{ method } " ) . group ( method ) }
34
+ end
35
+
32
36
scopes . each do |scope |
33
37
items = case scope
34
38
when String
@@ -42,16 +46,17 @@ def active_record_get_autocomplete_items(parameters)
42
46
end
43
47
44
48
def get_autocomplete_select_clause ( model , method , options )
45
- if sqlite?
49
+ base = if sqlite?
46
50
table_name = model . quoted_table_name
47
- ( [
48
- "#{ table_name } .#{ model . connection . quote_column_name ( model . primary_key ) } as #{ model . primary_key } " ,
49
- "#{ table_name } .#{ model . connection . quote_column_name ( method ) } as #{ method } "
50
- ] + ( options [ :extra_data ] . blank? ? [ ] : options [ :extra_data ] ) )
51
+ [
52
+ "#{ table_name } .#{ model . connection . quote_column_name ( model . primary_key ) } as #{ model . primary_key } " ,
53
+ "#{ table_name } .#{ model . connection . quote_column_name ( method ) } as #{ method } "
54
+ ]
51
55
else
52
56
table_name = model . table_name
53
- ( [ "#{ table_name } .#{ model . primary_key } " , "#{ table_name } .#{ method } " ] + ( options [ :extra_data ] . blank? ? [ ] : options [ :extra_data ] ) )
57
+ [ "#{ table_name } .#{ model . primary_key } " , "#{ table_name } .#{ method } " ]
54
58
end
59
+ base + ( options [ :extra_data ] || [ ] )
55
60
end
56
61
57
62
def get_autocomplete_where_clause ( model , term , method , options )
You can’t perform that action at this time.
0 commit comments