Use AR 3.2's uniq for distinct don't strip order without sorts
This commit is contained in:
parent
6215d3b62d
commit
8629343a64
|
@ -18,7 +18,10 @@ module Ransack
|
|||
|
||||
def evaluate(search, opts = {})
|
||||
viz = Visitor.new
|
||||
relation = @object.except(:order).where(viz.accept(search.base)).order(viz.accept(search.sorts))
|
||||
relation = @object.where(viz.accept(search.base))
|
||||
if search.sorts.any?
|
||||
relation = relation.except(:order).order(viz.accept(search.sorts))
|
||||
end
|
||||
opts[:distinct] ? relation.select("DISTINCT #{@klass.quoted_table_name}.*") : relation
|
||||
end
|
||||
|
||||
|
|
|
@ -16,7 +16,10 @@ module Ransack
|
|||
|
||||
def evaluate(search, opts = {})
|
||||
viz = Visitor.new
|
||||
relation = @object.except(:order).where(viz.accept(search.base)).order(viz.accept(search.sorts))
|
||||
relation = @object.where(viz.accept(search.base))
|
||||
if search.sorts.any?
|
||||
relation = relation.except(:order).order(viz.accept(search.sorts))
|
||||
end
|
||||
opts[:distinct] ? relation.select("DISTINCT #{@klass.quoted_table_name}.*") : relation
|
||||
end
|
||||
|
||||
|
|
|
@ -26,6 +26,15 @@ module Ransack
|
|||
@engine.connection.schema_cache.columns_hash[table][name].type
|
||||
end
|
||||
|
||||
def evaluate(search, opts = {})
|
||||
viz = Visitor.new
|
||||
relation = @object.where(viz.accept(search.base))
|
||||
if search.sorts.any?
|
||||
relation = relation.except(:order).order(viz.accept(search.sorts))
|
||||
end
|
||||
opts[:distinct] ? relation.uniq : relation
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -17,7 +17,7 @@ Gem::Specification.new do |s|
|
|||
s.add_dependency 'activerecord', '~> 3.0'
|
||||
s.add_dependency 'actionpack', '~> 3.0'
|
||||
s.add_dependency 'polyamorous', '~> 0.5.0'
|
||||
s.add_development_dependency 'rspec', '~> 2.6.0'
|
||||
s.add_development_dependency 'rspec', '~> 2.8.0'
|
||||
s.add_development_dependency 'machinist', '~> 1.0.6'
|
||||
s.add_development_dependency 'faker', '~> 0.9.5'
|
||||
s.add_development_dependency 'sqlite3', '~> 1.3.3'
|
||||
|
|
Loading…
Reference in New Issue